我想在同一行中运行2个命令(command1和command2),其中command1启动后台进程,command2启动前台进程。
我试过了:
command1 & ; command2
但它说:“-bash:语法错误附近意外令牌`;'”
如何在同一行中运行2个命令?
答案 0 :(得分:2)
;
在这里没有帮助。在第一个命令(感谢Nick Russo in comments)之后,您需要的控制运算符为&
:
command1 & command2
来自man bash
:
如果命令由控制操作符
&
终止,那么shell 在子shell中在后台执行命令。外壳确实如此 不要等待命令完成,返回状态为0。由
;
分隔的命令按顺序执行; shell等待 为每个命令轮流终止。返回状态是退出 最后一个命令的执行状态。
$ sleep 10 & echo "yes"
[2] 13368
yes
$
[1]- Done sleep 10
$
答案 1 :(得分:2)