我正在编写一个bash脚本。在其中,我调用另一个脚本并将其输出捕获到变量中:
OUTPUT=$(whatever --args 2>&1)
有时whatever
命令会运行一段时间,这意味着对于脚本的其余部分,所有内容都会快速失去同步。
提供更多上下文:我正在执行一个脚本,将一些文件夹备份到外部HD,并通过电子邮件发送备份脚本的输出。如果未连接HD,则会重试备份,直到成功为止。在这些情况下一切正常,但一旦我连接HD,我收到的电子邮件是空的。我很确定这是因为备份需要一些时间,电子邮件会在完成之前发送。
如何在将输出捕获到变量的同时等待子shell完成?
我已阅读有关&
立即返回,然后致电wait
的消息,但由于我不太了解wait
将会是什么,我真的不确定实际上等等。