0

在我的 bash shell 脚本中,我想从远程机器并行获取数据,所以我&在命令之间使用了

由于我的路径是在运行时配置的,因此我首先使用了一个变量(默认为 String ),

variable1="rsync -a /path/to/${runtime_parameter}_01/abc/xyz.txt"
variable2="rsync -a /path/to/${runtime_parameter}_02/def/ghi.txt"
variable3="rsync -a /path/to/${runtime_parameter}_02/mno/jkl.txt"

然后我按如下方式执行它们,

`$variable1` & `$variable2` & `$variable3`

当使用单个时rsync,我进行检查以验证 $?退出状态是否等于0成功。

rsync除非该过程完成,否则我的脚本不应继续。如何验证该过程是否已完成?

4

1 回答 1

4

wait您在后台生成所有作业(甚至是最后一个作业)后调用。它会等到他们都完成。

如果您想从每个单独的子进程获取返回状态代码,请查看以下答案:https ://stackoverflow.com/a/356154/4323 (基本上,使用wait,但一次只有一个 PID)。

于 2013-10-04T14:07:25.100 回答