条件が満たされた場合にのみ電子メールを送信する必要がありますが、次のスクリプトを実行するとエラーが発生します。
file='/somewhere/here/file.txt'
value=$(cat "$file")
if [$value < 99]; then
echo "$value" | mailx -s "title" [email protected]
fi
私が受け取るエラーは次のとおりです。
[line 4: 99]: No such file or directory
ファイル権限:0755
"/somewhere/here/file.txt"ファイルが存在します
答え1
すべてのプログラミング言語には固有の構文があるため、新しい言語を試す前に必ずドキュメントを読む必要があることに注意してください。シェルでは、<
「より小さい」を意味するのではなく、「このファイルを入力として使用」を意味します。数値比較を行うには-lt
「より小さい」が必要です。
また[
、周囲には常にスペースが必要です]
。だからあなたが書きたいものは次のとおりです。
if [ "$value" -lt 99 ]; then
echo "$value" | mailx -s "title" [email protected]
fi
詳しくは、およびhelp test
を参照してくださいman bash
。