Shellcheckは、同じパイプで同じファイルを読み書きしないでくださいと文句を言います。

Shellcheckは、同じパイプで同じファイルを読み書きしないでくださいと文句を言います。

住宅検査このコード行に対して、次のエラーが表示されます。

printf '%d' $(($(< "$1") + 1)) > "$1"

同じパイプで同じファイルを読み書きしないように注意してください。

これは本当に問題ですか?同じファイルを読み書きすると、競合状態が発生しますか?

ベストアンサー1

はい、問題です。同じパイプで読み書きできません。こう考えてみてください。ファイルに書き込むとファイルが空になり、ファイルを読むと結果が出ません。

おすすめ記事