Rob*_*ark 1 bash shell zsh background-process
为什么我可以在zsh中执行此操作:
zsh$ sleep 5 &; echo foo
[1] 14742
foo
Run Code Online (Sandbox Code Playgroud)
但不是在bash?
bash$ sleep 5 &; echo foo
bash: syntax error near unexpected token `;'
Run Code Online (Sandbox Code Playgroud)
有没有办法在bash中做同等效果的?
Bar*_*mar 10
我通常不会使用zsh,但这似乎是等效的:
sleep 5 & echo foo
Run Code Online (Sandbox Code Playgroud)
它也适用于zsh.
我检查了zsh文档,并没有看到组合的任何特殊含义&;.这似乎只是一个后台命令后跟一个空命令,它被忽略了.bash另一方面,不允许空命令; 键入时会出现相同的错误:
; echo foo
Run Code Online (Sandbox Code Playgroud)