このスクリプトでは、パラメータとして渡されたファイルがASCIIファイルかzipファイルかどうかをテストしたい場合は、asciiエコー "ascii" echo "zip"、そうでない場合は "ERROR"をエコーします。ここでシェルスクリプト内のファイル形式をテストする
は、ファイル/ grepのコマンドを実行し、そのリターンコードをチェックする方法が適切ではない瞬間
filetype = file $1
isAscii=`file $1 | grep -i "ascii"`
isZip=`file $1 | grep -i "zip"`
if [ $isAscii -gt "0" ] then echo "ascii";
else if [ $isZip -gt "0" ] then echo "zip";
else echo "ERROR";
fi
ファイル*に* asciiまたはzipが含まれているかどうかを確認するのは間違いありませんが、これはファイルの種類を保証するものではありません。 –
@Wayneどういう意味ですか? 'man file'はファイルの種類を決定します。 –
@WayneWerner:いいえ、彼はファイルを見ているfile(1)プログラムを使っています。 –