我有一个父脚本,可以执行三个子脚本。我试图1)在新的终端窗口中打开每个子脚本; 2)在继续之前,让每个子脚本的父脚本等待退出。所以:
主
出口
我可以在新的终端窗口中打开子脚本,但是所有三个子脚本都按顺序执行而无需等待。这是父脚本:
#!/bin/bash
# workspace
mkdir ./temp
# system setup
echo "***** setting up system environment *****"
gnome-terminal -x ./setup_sysconfig > setup-system.log
wait
# user setup
echo "***** setting up user environment *****"
gnome-terminal -x ./setup_usrconfig > setup-user.log
wait
# server setup
echo "***** setting up server environment *****"
gnome-terminal -x ./setup_svrconfig > setup-server.log
wait
# cleanup
rm -r ./temp
echo "Initial System Setup Complete"
exit 0
如何在强制父脚本等待每个脚本完成的同时让子脚本在单独的终端中运行? (我在Ubuntu 13.04上。)
答案 0 :(得分:2)
wait
只会等待您发送到后台的流程完成。我相信如果您使用--disable-factory
的{{1}}选项,那么脚本将等待命令完成:
gnome-terminal