答えにメカニズムを使用してください。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