如何使转义工作以便实际上&
在后台运行第一个命令?
# foo param1 param2 >> run.out &; tail -f run.out
答案1
只需删除分号:
# foo param1 param2 >> run.out & tail -f run.out
答案2
您需要将后台命令放在()中。
(ls -R / >>/tmp/list & ); tail -f /tmp/list
遗憾的是,这确实使它退居幕后。您将无法使用 %1 来获取其 PID。
答案3
您可以使用 nohup:
nohup cmd &
tail -f nohup.out
答案4
我也刚刚遇到了这个问题,并且是这样解决的:
`foo param1 param2 >> run.out &` ; tail -f run.out
我不知道语义是否不同。
对于这种特定情况,以下内容也很有用:
foo param1 param2 | tee -a run.out