スクリプトを実行すると、次のエラーが表示されます。
6 行目: [: : 整数式が必要です
括弧内のコードは整数だと思いますが、どこが間違っているのかわかりません。これを修正する方法を教えてください。
if [ "$( df -h | grep hda1 | cut -c40-42)" -ge "80" ]; then
echo Subject: Production Server : Low Disk Space : Daily reporting for Server
fi
スクリプトを実行すると、次のエラーが表示されます。
6 行目: [: : 整数式が必要です
括弧内のコードは整数だと思いますが、どこが間違っているのかわかりません。これを修正する方法を教えてください。
if [ "$( df -h | grep hda1 | cut -c40-42)" -ge "80" ]; then
echo Subject: Production Server : Low Disk Space : Daily reporting for Server
fi
たくさんのパイプが流れています...
df -h | awk '/hda1/{sub(/%/,"")}$5>80'
追加のオーバーヘッドなしで cut|grep|cut|tr と同じように機能します
df -h
1G や 73M のような「人間が読める」出力を提供します。これらは明らかに整数ではありません。-h を省略してみてください。一致するようにカット間隔を調整する必要がある場合があります。
if [ "$( df -h | grep hda1 | tr -s ' '|cut -d" " -f 5 | cut -c-2)" -ge 80 ]; then echo Subject: Production Server : Low Disk Space : Daily reporting for Server
使用率を確認しようとしている場合。これは実装するためのより良い方法になると思います。
これは私にとってはうまくいきます:
[[ $(df -h | grep hda1 | cut -c40-42) -ge 80 ]]
あなたの質問を編集しfi
ました。