web-dev-qa-db-ja.com

現在のターミナルから新しいターミナルでシェルスクリプトを実行する

Linuxの新しいターミナルでWindowsの「start test.bat」などのターミナルからシェルスクリプトを実行するにはどうすればよいですか。また、コンソールモードで動作するはずです。

22
mreaevnia

始めるための簡単な例を次に示します。

シェルスクリプトを作成するには、コマンドプロンプトでこれを実行します。

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 &
22
sampson-chen

私はここでスクリプトを作成してターミナルを作成し、それを自分で実行したいので、ここに来たので、それをしたい人のためにこの解決策を見つけました:

if [ ! -t 0 ]; then # script is executed outside the terminal?
  # execute the script inside a terminal window
  x-terminal-emulator -e "$0"
  # and abort running the rest of it
  exit 0
fi

Gnomeの場合はこれを試してください。

Lsを実行するコマンドに置き換えます

gnome-terminal -x sh -c "ls|less"

これがあなたの望むものであることを願っています

4
knightrider