我是新來bash編程,也許是真的很傻。BASH語法錯誤 - [:缺少']」
基本上我寫一段腳本,將ping一個IP地址我通過,它會從它的數據包傳輸並返回一個錯誤或因丟失的數據包的數量通過的消息。
然而,每當我從終端運行腳本我不斷收到消息 -
./ipGatewayCheck.sh: line 13: [: missing
]'`
這是我的代碼:
#!/bin/bash
healthy_status=0
warning_status=10
critical_status=100
for gateway in [email protected]
do
RESULT=`ping -q -c 10 $gateway | grep 'packets transmitted' | awk '{print $6}' | tr -d "%"`
echo "$RESULT"
if [ $RESULT -eq $healthy_status ]; then
echo "No Issue - IP Address is pinging"
elif [ $RESULT -ge $warning_status && -le $critical_status ]; then
echo "Warning - Issue with packet loss on this IP Address"
elif [ $RESULT -eq $critical_status ]; then
echo "Critical - 100% packet loss on this IP Address"
fi
done
任何幫助將不勝感激。
'$結果-ge $ warning_status && $ -le critical_status'被解釋爲'($結果-ge $ warning_status)&&(-le $ critical_status)'和第二部分意味着什麼......不知道這是你問題,但這是一個問題。此外,我不確定您的條件應以半列結尾,但我現在無法測試它 – 2014-09-23 09:22:34
謝謝大家!它似乎工作正常!用Anubhava的方法! – McCourt2364 2014-09-23 09:29:39