在shell脚本中,第二个cmd会等到第一个cmd完全执行,即同步文件夹?
例如:
cmd1 sync folder1
cmd2 cp folder1 to folder2
此处同步完成后cmd2会运行吗?如果同步失败怎么办?
答案 0 :(得分:4)
来自http://linux.die.net/man/8/sync:
在Linux上,只保证同步调度脏块 写作;它可以在所有块之前花费很短的时间 终于写了。 reboot(8)和halt(8)命令将此转换为 在呼叫同步(2)之后睡觉几秒钟。
(我强调。)你应该也这样做。显然,必要的等待时间没有上限,也没办法(至少不是简单的用户)来验证磁盘是否处理了排队的命令,这有点令人不安。
当然,除了同步之外,所有类型的命令都存在此问题。邮件可能尚未发送,打印作业可能仍在排队等。另外,正如chepner所说,任何分支服务器或其他后台进程的命令(隐式地,没有&
)将在进程仍在运行时返回