こんにちは、さるまりんです。
シェルスクリプトでファイルの存在判断のやり方です。
ファイルがある時にだけこの処理を行うといったことを実現するためのものですね。
file_aru.sh
(ファイルある?スクリプト – ネーミングは許してください)
#!/bin/sh
FILE=$1
if [ -e $FILE ]; then
echo "$FILE あります。"
fi
以下の部分です。
if [ -e ファイル ]; then
ファイルが存在するときの処理
fi
$FILEのファイルが存在すれば「あります」の表示。
file_aru.sh
を実行してみるとこんな感じになります。
$ ./file_aru.sh aaa.txt
$ touch aaa.txt
$ ./file_aru.sh aaa.txt
aaa.txt あります。
$
1行目 aaa.txt
がないので何も起こらずスクリプトは終了します。
2行目 touch
でaaa.txt
を作ります。
3行目 今度はaaa.txt
があるので「aaa.txt
あります。」と表示されます。
逆にない時はどうするでしょうか?
!
で実現します。!
は論理否定演算子、Logical Negation Operatorとややこしい名前ですが、簡単にいうと否定、notです。
次のように書きます。
if [ ! -e ファイル ]; then
ファイルが存在しないときの処理
fi
シェルスクリプトをパパッとかけると日々の仕事がかなり楽になるように思っています。
これがこれまで面倒くさがって書いていなかったんです。
これからちょっとずつでも覚えて書いていきたいです。
なので、シェルスクリプトのTipsもまたお付き合いよろしくお願いします。
読んでくださってありがとうございました。
それではまた!