ほかの人が作成したシェルスクリプトを見ていると、リダイレクトに>|を使用しているのを見かけた。
|をつける意味を知らなかったので記録しておく。
>| とは
|記号付きのリダイレクト >| を使用すると、存在するファイルに対しても強制的に書き込みを実施できる。
set -C を使用しているときに有効
bashなどにおいて、あらかじめ
set -C
(リダイレクト時に、存在するファイルを上書きしないフラグを設定)
が実行されているとき、存在するファイルに対して > を使用して書き込むとエラーとなる。
>|を使用することで、このエラーを回避することができる。
参考文献
山森丈範『[改訂第3版]シェルスクリプト基本リファレンス』技術評論社(2017)
p244,120
コメント