用于在前台运行进程但在不同终端选项卡上的脚本

时间:2013-03-18 14:50:06

标签: linux bash shell background foreground

我是shell脚本新手。我正在使用gnome-terminal。我写了一个简单的脚本,我需要逐个开始我的过程,这是我的脚本:

#!/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个不同选项卡中启动它们?有什么办法吗?

1 个答案:

答案 0 :(得分:2)

如果您有gnome-terminal可用,则可以执行以下操作:

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

请注意,这将并行启动所有内容。如果你需要这样的话,你可以使用sleep来实现定时延迟:

gnome-terminal \
  --tab -e "./exe1" \
  --tab -e "sh -c 'sleep 5; ./exe2'" \
  --tab -e "sh -c 'sleep 10; ./exe3'"