1

私はシェルスクリプトを初めて使用します。を使用してgnome-terminalいます。プロセスを1つずつ開始するために必要な1つの簡単なスクリプトを作成しました。これが私のスクリプトです。

#!/bin/bash    
    cd A/
    sleep 1
    ./exe1 &
    echo "-------- exe1 STARTED------"

    cd ../../B/
    sleep 1
    ./exe2_a &
    sleep 1
    ./exe2_b &
    echo "--------exe2 STARTED------"

    cd ../C/
    sleep 1
    ./NAV_exe3_a &
    sleep 1 
    ./NAV_exe3_b &
    echo "--------exe3 STARTED------"

ご覧のとおり、バックグラウンドで 5 つの異なるプロセスを開始していますが、ターミナル (フォアグラウンド) の 5 つの異なるタブで単一のスクリプトでそれらを開始するにはどうすればよいですか? 何か方法はありますか?

4

1 に答える 1

2

利用可能な場合はgnome-terminal、次のようなことができます。

gnome-terminal \
  --tab -e "./exe1" \
  --tab -e "./exe2" \
  --tab -e "./exe3"

これにより、すべてが並行して開始されることに注意してください。そのようなことが必要な場合は、スリープを使用して時限遅延を実装できます。

gnome-terminal \
  --tab -e "./exe1" \
  --tab -e "sh -c 'sleep 5; ./exe2'" \
  --tab -e "sh -c 'sleep 10; ./exe3'"
于 2013-03-18T15:04:50.533 に答える