喜欢在标题中提到,
什么是 对面 的 "=~"
操作者?
我真的用Google搜索,我只资助以下解决方案: [[ ! $str1 =~ $str2 ]]
有没有运营商验证 对面 的 "=~"
操作者?
谢谢。
喜欢在标题中提到,
什么是 对面 的 "=~"
操作者?
我真的用Google搜索,我只资助以下解决方案: [[ ! $str1 =~ $str2 ]]
有没有运营商验证 对面 的 "=~"
操作者?
谢谢。
bash版本4.3中没有对手操作员(本帖时的当前版本)。
[[ ! str1 =~ str2 ]]
是要走的路。
对于这些问题,你应该使用 man
而不是你最喜欢的搜索引擎。涉及的工具的手册页 - 在这种情况下是bash - 是权威的,'网络是传闻(当然,除非它引导你到手册页;-))。
答案是有的 在bash中没有这样的运算符 哪个呢 !~
因为它在perl中,如果你不想使用已知的 ( [[ ! $str1 =~ $str2 ]] )
为了这个目的,你必须使用 grep
要么 perl
。就像是:
x="I like negation"
y="like"
if [[ $(perl -ne "!/$y/ && print" <(echo $x)) == "$x" ]]; then
echo "Contains"
else
echo "Doesn't contain"
但我没有找到任何理由错过 !~
在bash中 [[ ! $str1 =~ $str2 ]]
很好地解决了这个目的。可能是因为它不存在于bash中。
考虑一下DevSolar对这个答案的第一个评论,它适用于你什么时候去 grep
要么 perl
,这再次成就 [[ ! $str1 =~ $str2 ]]
最好的可用。