IF语句不识别OR表达式

时间:2012-10-06 21:23:35

标签: bash shell unix scripting osx-lion

我打破了我的脑袋。我不明白为什么下面的IF声明不起作用

renameOption="-rs"
if [[ $# -eq 4 ]]; then
if [[ $renameOption != "-rs" ]] || [[ $renameOption != "-rb" ]]; then
    echo -e "\tArgument three needs to be '-rs' or '-rb'"
    echo -e "\tNow exiting script"
    exit
fi
flag=1
echo "Good to go"
fi

我知道语法是正确的,但我注意到系统无法识别第二个IF中的OR ||表达式。当使用单个表达式时,它工作正常,但我需要与两个表达式进行比较,因此OR ||

我正在运行OSX Lion 10.7.4

1 个答案:

答案 0 :(得分:2)

它甚至有意义吗? $renameOption始终不等于这两者中的任何一个。您可能想要&&