Linux Bash 等待命令不起作用

Linux Bash 等待命令不起作用

我正在尝试使用一个 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"

相关内容