まくまくLinux/Shellノート
Linux でリダイレクトによってファイルが上書きされてしまうのを防ぐ
2005-05-26

例えば Linux で下記に標準出力をリダイレクトしようとしたときに、すでに出力先のファイルが存在する場合は、そのファイルの内容が上書きされてしまいます。

$ echo Hello > hoge.txt

こういったリダイレクトによるファイルの上書きを抑制するには、Bash の noclobber オプションを設定します。

~/.bash_profile

set -o noclobber  # リダイレクトによる上書きを禁止
set +o noclobber  # リダイレクトによる上書きを許可(デフォルト)

ちなみに、現在のすべてのシェルオプションの設定を確認するには以下のようにします。

$ set -o  # on, off 表示
$ set +o  # コマンド表示
2005-05-26