TOP > Linux > Fedoraの技 > 201-300 > 294
リダイレクトによる上書きを防ぐには
リダイレクトをそのまま利用するとファイルは上書きされます。
$ date > time.txt
$ cat time.txt
Tue May 17 14:29:36 JST 2005
$ date > time.txt
$ cat time.txt
Tue May 17 14:29:40 JST 2005 変更されている
機能を知っていて利用するには便利ですが、うっかり重要なファイルを上書きしてしまう可能性もあります。これを利用不可にするにはbashの"noclobber"オプションを利用します。設定すると上書きされないことが分かります。
$ set -o noclobber
$ date > time.txt
-bash: time.txt: cannot overwrite existing file
また"-C"と指定して設定することもできます。
$ set -o -C
常にこのオプションを利用するのであれば~/.bashrcに保存します。sourceコマンドで設定をすぐに反映させることが可能です。
$ vi ~/.bashrc
$ source ~/.bashrc
2005-12-03 作成