我想在 bash 中为以下条件表达式提供逻辑不,我该怎么做?
if [[ $var==2 || $var==30 || $var==50 ]] ; then
do something
fi
我怎样才能不直接在上面的表达式中添加逻辑,再次将其更改为如下内容非常乏味:
if [[ $var!=2 && $var!=30 && $var==50 ]] ; then
do something
fi
感谢您的任何提示!
我想在 bash 中为以下条件表达式提供逻辑不,我该怎么做?
if [[ $var==2 || $var==30 || $var==50 ]] ; then
do something
fi
我怎样才能不直接在上面的表达式中添加逻辑,再次将其更改为如下内容非常乏味:
if [[ $var!=2 && $var!=30 && $var==50 ]] ; then
do something
fi
感谢您的任何提示!
if ! [[ $var == 2 || $var == 30 || $var == 50 ]] ; then
do something
fi
或者:
if [[ ! ($var == 2 || $var == 30 || $var == 50) ]] ; then
do something
fi
一个好的做法是在条件运算符和操作数之间留有空格。
有些人还可能建议,如果您只是比较数字,请改用算术运算符,或者只使用(( ))
:
if ! [[ var -eq 2 || var -eq 30 || var -eq 50 ]] ; then
do something
fi
if ! (( var == 2 || var == 30 || var == 50 )) ; then
do something
fi
尽管$var
有时可能不是数字或没有值或未设置,但它并不值得称赞或谨慎,因为它可能意味着 0 作为默认值或另一个变量的另一个值,如果它是一个变量的名称。