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

||構文が正しいことはわかっていますが、システムが2 番目の IFの OR 式を認識していないことに気付きました。単一の式を使用する場合は問題なく動作しますが、2 つの式と比較する必要があるため、 OR ||.

OSX Lion 10.7.4 を実行しています

4

1 に答える 1

2

それは理にかなっていますか?$renameOptionは常にこれら 2 つのいずれとも等しくありません。あなたはおそらく望んでい&&た。

于 2012-10-06T21:25:19.810 に答える