if [[ $GreaterThanTwenty==1 && $LessThanThirty==1 ]]
then
echo "within limits"
else
echo "Outside limits"
fi
echo $GreaterThanTwenty
echo $LessThanThirty
爲什麼在限制內觸發即使回聲顯示此時LessThanThirty實際上是0?bash,2子句if語句
if [[ $GreaterThanTwenty==1 && $LessThanThirty==1 ]]
then
echo "within limits"
else
echo "Outside limits"
fi
echo $GreaterThanTwenty
echo $LessThanThirty
爲什麼在限制內觸發即使回聲顯示此時LessThanThirty實際上是0?bash,2子句if語句
您應該使用以下之一來比較算術值:-eq,-ne,-lt,-le,-gt或-ge,表示等於,不等於,小於,等於,大於等於分別大於或等於。
參考:http://www.ibm.com/developerworks/library/l-bash-test/index.html
因此$ GreaterThanTwenty == 1應該是$ GreaterThanTwenty -eq 1? – confusified
是的,這是事實。 – Anshu
你不使用你發佈的代碼的任何「LessThanTwenty」變量,修改您的變量名。 – Nelson
'=='做字符串比較,使用'-eq'。或者你可能會更好地用'[[$ original -gt 20 && $ original -lt 30]]'開始。道歉,錯字 – Kevin
現在修復。 – confusified