COUNTER=0
let COUNTER=COUNTER+1
count=`ssh -i /var/www/.ssh/id_rsa_root -o stricthostkeychecking=no $host $cmd`
count1=`echo $count | awk '{print $4}'`
printf "count1 : $count1\n"
result1=${count1/.*}
if [ "$result1" -ge "0" ]; then
echo $host
else
echo $host
exit
fi
如果$result1
值INTEGER和大於零,它會轉到IF循環(對我來說工作正常)[:整數表達式預期
但是,當它不是INTEGER,它是未來到別的環路(它是該做的),出現以下錯誤的輸出
line 55: [: : integer expression expected
,但我不希望在我的輸出上面的錯誤。我試圖用2>/dev/null
這個,但沒有運氣。
請幫忙!
檢查你的代碼http://shellcheck.net – Jahid
另外,如果你使用'sh -x yourscript'來運行它,你會看到正在使用的_actual_值,所以你將能夠看到/爲什麼它不是一個整數。 –
另外,您正在使用'printf'錯誤。不要替換爲格式字符串;而是使用格式字符串來告訴系統如何進行替換:'printf'count1:%s \ n'「$ count1」' –