なぜzshでこれを行うことができますか?
zsh$ sleep 5 &; echo foo
[1] 14742
foo
しかし、bashではありませんか?
bash$ sleep 5 &; echo foo
bash: syntax error near unexpected token `;'
bashで同等のことを行う方法はありますか?
なぜzshでこれを行うことができますか?
zsh$ sleep 5 &; echo foo
[1] 14742
foo
しかし、bashではありませんか?
bash$ sleep 5 &; echo foo
bash: syntax error near unexpected token `;'
bashで同等のことを行う方法はありますか?
私は通常は使用しませんzsh
が、これは同等のようです:
sleep 5 & echo foo
でも動作しzsh
ます。
zshのドキュメントを確認しましたが、組み合わせに特別な意味はありません&;
。これは、バックグラウンドコマンドの後に空のコマンドが続くだけのようですが、無視されます。bash
一方、空のコマンドは許可されません。次のように入力すると、同じエラーが発生します。
; echo foo
これを行う1つの方法は、バックグラウンドプロセスのサブシェルを生成することです。
bash$ (sleep 5 &); echo foo
しかし、それがあなたが探している意味で厳密に同等であるかどうかはわかりません。