2015-02-09 58 views
0

我寫一個腳本UNIX看起來像使用||的Unix腳本不工作

#!/bin/ksh 

switch=$1 
echo $switch 
if [ $switch != "on" ] || [ $switch != "off" ] 
then 
    echo "Some message blah " 
    exit 0 
fi 

我上運行腳本KSH test.ksh並通過在運行時的說法,但該代碼是行不通的。無論我在控制檯上通過'開'還是'關',我都會收到一些消息。請讓我知道如何糾正這一點。

由於提前,

回答

1

你的條件將始終爲true,因爲$switch不能onoff在同一時間。在自然語言它可以表述爲:

如果$開關不是「上」或$開關不是「關閉」,然後...

之一的這兩個條件總是爲真。也許你打算使用&&而不是||

+0

你好。感謝更新。邏輯上我錯了。感謝您的更正 – user1608869 2015-02-09 17:49:14