我有一个bash脚本,它打开一个新的gnome终端,它有两个运行更多脚本的选项卡。两个选项卡中的脚本完成后,父终端中的主脚本继续运行。
当我运行此bash脚本的多个实例时,它不再等待其他gnome-terminal完成,然后再继续使用父终端脚本。
如何修复它以便脚本的其他实例像第一个一样运行?
这是我正在运行的bash脚本。我通过在新终端中键入sh scriptname.sh
来运行其他实例。
gnome-terminal --tab --command="expect launchneuron.exp" --tab --command="expect launchmpj.exp"
echo "Simulation Complete"
echo "Plotting Results"
expect -c "
set timeout -1
spawn ssh $username@server
expect \"password\"
send \"$password\r\"
expect \"$ \"
send \"qsub -I -q abc -A lc_tb -l nodes=1 -l walltime=24:00:00 -d .\r\"
expect \"$ \"
send \"sh plotgraph.sh\r\"
expect \"$ \"
send \"exit\r\"
"
答案 0 :(得分:0)
#!/bin/bash
date
bash -c "sleep 7" &
bash -c "sleep 5" &
wait
date
正如您在运行此脚本时所看到的那样,两个睡眠命令将并行运行,但主线程停止,同时它们正在运行
Sat. Jule 27 01:11:49 2013
Sat. Jule 27 01:11:56 2013
将sleep 7
替换为expect launchneuron.exp
和sleep 5
与expect launchmpj.exp
并在调用"wait"
后添加绘图命令:
echo "Simulation Complete"
...(your code to plot results)