Lan*_*nes 12 shell bash control-flow
为什么是这样?
if true; then sleep 3 &; fi
bash: syntax error near unexpected token `;'
Run Code Online (Sandbox Code Playgroud)
我想跑
sleep 3
Run Code Online (Sandbox Code Playgroud)
在后台,以便命令 ["sleep 3" 只是一个示例] 将以“并行”样式运行,因此它完成得更快。但我得到这个:
bash: syntax error near unexpected token `;'
Run Code Online (Sandbox Code Playgroud)
错误信息。为什么?为什么我不能向后台发送任务?
在这种情况下,您似乎不需要分开命令(&
将它们本身分开)。
例如。
$> if true; then (sleep 3; echo ok) & fi
[1] 14224
$> ok
Run Code Online (Sandbox Code Playgroud)