0

我要打破我的头,这个。我不明白为什么下面的 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

4

1 回答 1

2

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

于 2012-10-06T21:25:19.810 回答