我知道=~
operator可用于识别a string is in a list ...
if [[ "$var" =~ ^(str1|str2|str3)$ ]]
then
echo "$var is in the list"
else
echo "$var is not in the list"
fi
...但是如果我只对else
感兴趣,则此语法效率不高:
if [[ "$var" =~ ^(str1|str2|str3)$ ]]
then
echo "foo" >/dev/null #bogus anything to avoid empty "then" clause
else
my_awesome_function_here
fi
我知道,如果仅检查单个字符串,就可以使用!=
运算符...
if [[ "$var" != "str1" ]]; then
my_awesome_function
fi
...但是!=~
不是有效的运算符。
有与!=~
等效的内容吗?还有其他我想念的东西吗?