我在bash脚本中使用以下内容:command >> /var/log/somelog.log 2>&1&
我之所以这么做是因为我想捕获/var/log/somelog.log
中的所有输出。
这很管用。但是,它不会等到命令完成。所以这就引出了一个问题,如何捕获command
中/var/log/somelog.log
的所有输出,并且在command
完成之前不让bash脚本继续?
最佳答案
不要把命令放在后台。
最后一个&
字符表示“在后台运行此命令,同时立即给我一个新的shell提示。”
command >> /var/log/somelog.log 2>&1&
^ this one
只要去掉命令的最后一个字符,命令就会在前台运行,直到完成。
坦率地说,这是很有介绍性的东西。你考虑过阅读任何关于使用shell的文档吗?
关于linux - 如何在bash中运行命令以捕获输出并等待命令完成?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40363610/