我正在尝试使用一个 bash 文件.sh
在单独的终端中启动其他 bash 文件。我希望它们一个接一个地运行,因为我使用它们将大量文件复制到同一硬盘驱动器。但是,以下 Bash 同时启动。
#!/bin/bash
gnome-terminal --tab --title="1" -- bash /media/dave/Cloud/Music/2.MakeAlbums/NewMaster1.sh &
wait
gnome-terminal --tab --title="2" -- bash /media/dave/Cloud/Music/2.MakeAlbums/NewMaster2.sh &
wait
echo "Complete"
但是我的 Ubuntu 服务器(最新版本)不遵守该wait
命令。
答案1
这仍然使用符号在后台运行&
。
使用wait %1
最新的bg
进程。有什么--
用?
#!/bin/bash
(gnome-terminal --tab --title="1" -- bash /media/dave/Cloud/Music/2.MakeAlbums/NewMaster1.sh &); wait %1
echo "Job 1 complete."
(gnome-terminal --tab --title="2" -- bash /media/dave/Cloud/Music/2.MakeAlbums/NewMaster2.sh &); wait %1
echo "Job 2 complete."
echo "Finished."
从本质上来说,这与没有后台进程的事情是一样的。
gnome-terminal --tab --title="1" -- bash /media/dave/Cloud/Music/2.MakeAlbums/NewMaster1.sh && gnome-terminal --tab --title="2" -- bash /media/dave/Cloud/Music/2.MakeAlbums/NewMaster2.sh; echo "Complete"