zshではクラスタの使用は失敗しますが、bashでは機能しますか?

zshではクラスタの使用は失敗しますが、bashでは機能しますか?

答えにメカニズムを使用してください。https://unix.stackexchange.com/a/274499/5132Zシェルから:

(
flock -x 200

echo "test";

) 200>mylockfile2

返品

zsh: parse error near `200'

Bashではうまくいきます。ここで何が間違っている可能性がありますか?

ベストアンサー1

Bashは、ユーザーが通常のリダイレクト構文を使用して9より大きいfdを直接開くことを可能にする唯一のシェルです。したがって、他のシェルではこのコマンドは同じです。(...) 200 1>mylockfile2これは構文エラーです。 posix は 0-9 に対してのみサポートを要求します。ロックで使用されているfdがすでに使用されていないことを確認するには、特別に設計された構文を使用して次の使用可能なfdを開くことができます。 (foo "$lockfd";...) {lockfd}>file

おすすめ記事