bashスクリプト(条件が電子メールを送信する必要がある場合)

bashスクリプト(条件が電子メールを送信する必要がある場合)

条件が満たされた場合にのみ電子メールを送信する必要がありますが、次のスクリプトを実行するとエラーが発生します。

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

おすすめ記事