我通常使用以下命令运行多个命令:
sleep 2 && sleep 3
或
sleep 2 ; sleep 3
但是如果我想从一个命令行命令在后台运行它们呢?
sleep 2 & && sleep 3 &
doesn't w或k. And neither does replacing &&
with ;
有办法吗?
我通常使用以下命令运行多个命令:
sleep 2 && sleep 3
或
sleep 2 ; sleep 3
但是如果我想从一个命令行命令在后台运行它们呢?
sleep 2 & && sleep 3 &
doesn't w或k. And neither does replacing &&
with ;
有办法吗?
你到底想让他们怎么跑?如果希望在后台启动并运行sequentially,可以执行以下操作:
{ sleep 2; sleep 3; } &
如果您只希望在sleep 2
成功的情况下运行sleep 3
,那么:
sleep 2 && sleep 3 &
另一方面,如果你想让它们在后台运行parallel次,你可以这样做:
sleep 2 & sleep 3 &
这两种技术可以结合使用,例如:
{ sleep 2; echo first finished; } & { sleep 3; echo second finished; } &
Bash作为Bash,通常有多种不同的技术来完成相同的任务,尽管有时它们之间存在细微的差异.