test コマンドでファイルの有無を判定
サンプルのファイル名を変えた場合に、古いファイルがそのまま残ってしまう。
自分で rm コマンドを使って消せばいいのだが、せっかくスクリプトを用意したのだから
その中でやらせることに。
ファイルの有無を判定するための方法、いろいろあるが test コマンドを使用することにした。
最初はファイル数のカウンタを見ればいいと思っていたが、 exer $count + 1 を使用しているので
そのままこれを0と比較できなかった。
いろいろ調べたがよくわからず、結局 test の -s オプションを使用することで決定。
まず、コンパイル済みファイルの一覧をリダイレクトする。
>ls bin/ > delete_file_list.txt
ファイルが存在していれば、delete_file_list.txt の値は0にならない。
そこで、このサイズが0でない場合に削除を実行する。
ls bin/ > delete_file_list.txt if test -s delete_file_list.txt ; then echo "Delete bin files." rm bin/* else echo "There are no files in bin directory..." fi rm delete_file_list.txt
test メソッドは条件判定を行うメソッド。
さまざまなオプションが他にもあるようだ。
機会があればいろいろやってみるかな。