两个字符串的Bash比较

时间:2016-11-23 09:00:22

标签: string bash if-statement comparison

我现在可能有一个很大的逻辑思维障碍,我只是不明白......我希望有人可以帮助我。

我正在编写带参数的脚本,第一个参数需要“激活”或“停用”,所以我写了这个:

if [ "$1" != "activate" ] || [ "$1" != "deactivate" ]; then
   echo $1
   exit 1
fi
echo "Hello the first argument is $1"

所以,如果我现在运行'myscript.sh activate',则输出为:

user@host$ ./myscript.sh activate
activate

但输出应为“Hello,第一个参数是激活”......

有人可以解释一下我做错了什么或我需要改变什么?

由于

1 个答案:

答案 0 :(得分:3)

我建议使用:

if [ "$1" != "activate" ] && [ "$1" != "deactivate" ]; then