Bashスクリプトは他のUbuntuバージョンでは動作しません

Bashスクリプトは他のUbuntuバージョンでは動作しません

ハードドライブの使用量を確認し、使用量が容量の割合に達したときに通知を送信するbashスクリプトを作成しました。

#!/bin/bash

Name=$(hostname)
current_usage=$( df -h | grep '/dev/sda5' | awk {'print $5'} )
max_usage=65%

if [ ${current_usage%?} -ge ${max_usage%?} ]; then
    mailbody="Hard drive is running out of space at Virtual Machine ${Name}. Current usage: ${current_usage}."
    echo ${mailbody} | mail -s "Hard Drive Usage Alert" root
fi

Ubuntu 20.04の仮想マシンで実行すると、スクリプトは正常に動作します。

ただし、Ubuntu 18.04で実行している場合は、次のメッセージが表示されます。

/etc/cron.daily/df-check:
/etc/cron.daily/df-check: line 7: [: -ge: unary operator expected

なぜこれが起こるのかご存知ですか?

ありがとうございます。

ベストアンサー1

おすすめ記事