私はここに来て、スクリプトがターミナルを生成してその中で実行する方法を理解したいと思っていました。
if [ ! -t 0 ]; then # script is executed outside the terminal?
# execute the script inside a terminal window with same arguments
x-terminal-emulator -e "$0" "[email protected]"
# and abort running the rest of it
exit 0
fi
開始するための簡単な例を次に示します。
シェル スクリプトを作成するには、コマンド プロンプトで次の操作を行います。
echo -e '#!/bin/sh\n echo "hello world"' > abc.sh
これは次のように書いています:
#!/bin/sh
echo "hello world"
abc.sh
というファイルに
次に、次の方法で実行可能に設定します:
chmod +x abc.sh
これで、次の方法で実行できます:
./abc.sh
hello world
端末で。
新しいターミナルで実行するには、次のようにします:
gnome-terminal -x ./abc.sh
または、xterm
の場合 :
xterm -e ./abc.sh
さまざまな端末エミュレーターのリストは次のとおりです。
または、現在のターミナルで実行するだけで、代わりに次のようにバックグラウンドで実行します:
./abc.sh &
gnome の場合は、これを試してください。
ls を実行したいコマンドに置き換えます
gnome-terminal -x sh -c "ls|less"
これがあなたの望むものであることを願っています
2020 年 1 月現在、-e
と -x
gnome-terminal
のオプション 正常に実行されますが、次の警告が表示されます:
-e
の場合 :
# オプション「-e」は非推奨であり、gnome-terminal の新しいバージョンで削除される可能性があります。
# 「--」を使用してオプションを終了し、その後にコマンド ライン toexecute を配置します。
-x
の場合 :
# オプション「-x」は非推奨であり、gnome-terminal の新しいバージョンで削除される可能性があります。
# 「--」を使用してオプションを終了し、その後にコマンド ライン toexecute を配置します。
上記の情報に基づいて、警告メッセージを受け取ることなく次の 2 つのコマンドを実行できることを確認しました:
gnome-terminal -- /bin/sh -c '<your command>'
gnome-terminal -- ./<your script>.sh
これが、現在この問題を抱えている他の誰かの助けになることを願っています:)