Linuxコマンド・シェルスクリプト

リダイレクト >| の意味

ほかの人が作成したシェルスクリプトを見ていると、リダイレクトに>|を使用しているのを見かけた。

|をつける意味を知らなかったので記録しておく。

>| とは

|記号付きのリダイレクト >| を使用すると、存在するファイルに対しても強制的に書き込みを実施できる。

set -C を使用しているときに有効

bashなどにおいて、あらかじめ

set -C

(リダイレクト時に、存在するファイルを上書きしないフラグを設定)

が実行されているとき、存在するファイルに対して > を使用して書き込むとエラーとなる。

>|を使用することで、このエラーを回避することができる。

参考文献

山森丈範『[改訂第3版]シェルスクリプト基本リファレンス』技術評論社(2017)
p244,120

プロフィール

興味のあること、つまづいたこと、考えたことなどを書いています。

カテゴリー

コメント

タイトルとURLをコピーしました