2010年05月27日

rmコマンドで"*"は、絶対に使わないで!!

rmコマンドで"*"は、絶対に使わないで!!

カレントディレクトリのファイルを消すつもりが、
rm /*
冷や汗でますね。
rm ./*
が正解ですが、"*"は、使用しないでください。

複数のファイルを一度に消したいときは、
Shellを作成して消すようにしてください。

対象ディレクトリまで、移動して、
ls -1
を指定すると、ファイルが1列に並びます。

それをテキストにコピーして、
#!/bin/ksh
rm -f fail1
rm -f fail2
rm -f fail3
のようなShellを作成して消してください。

Shellのファイル名は、「rm.sh」のようにせずに、
「delete_files.sh」にしてください。

「rm」怖いコマンドですね。
できる限り、rootで「rm」コマンドをたたかないとかの
注意もしたほうがいいですね。

スクリプトを書くときも[*]を避けるロジックを考えたほうがいいですね。
$pass =""
$path = "/test/";
system( 'rm $pass/*' );
↑恐ろしいバグです。

眺めるだけで冷や汗でますね。


このエントリーをはてなブックマークに追加

にほんブログ村 IT技術ブログ IT技術メモへ←もし、役立つ情報だったらクリックお願いします。 <<

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/kumagai_nori/51707530