Shell腳本運行報錯:[: : integer expression expected
#!/bin/bash
test=$( df -h | grep sda5 | awk '{print $5}' |cut -d "%" -f 1)
if [ "$test" -ge '10' ]
then
echo "Warning:Rom too high"
fi
運行這個腳本的時候報[: : integer expression expected,
#!/bin/bash
test=$( df -h | grep sda5 | awk '{print $5}' |cut -d "%" -f 1)
if [ "$test" -ge '10' ]
then
echo "Warning:Rom too high"
fi
運行這個腳本的時候報[: : integer expression expected,
2017-06-10
舉報
2017-07-12
沒有報錯
2017-06-11
你的那個-ge表達式, 前后都是需要數字類型的變量或者常量, 你這里使用變量有問題,一般都是${xxx} 不用加雙引號 ?,10上面的單引號去掉。就可以了。 但是讓我奇怪的是,為什么前面加了雙引號居然也能運行成功?