如标题所示,operator的反义词是什么?我真的在谷歌上搜索了一下,我只资助了以下解决方案:
是否有任何运营商可以验证运营商的反面?"=~"
[[ ! $str1 =~ $str2 ]]
"=~"
谢谢。
直到 4.3 版(在本文发布时为当前版本)的 bash 中没有对立的运算符。
[[ ! str1 =~ str2 ]]
是要走的路。
对于此类问题,您应该使用man
而不是您最喜欢的搜索引擎。所涉及的工具的手册页——在这种情况下是 bash——是权威的,'web 是传闻(当然,除非它引导你进入手册页 ;-))。
答案是在 bash 中没有这样的运算符,它在 perl 中没有,如果你!~
不想使用已知( [[ ! $str1 =~ $str2 ]] )
的目的,那么你必须使用grep
or 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
or时它仍然成立perl
,这再次充分[[ ! $str1 =~ $str2 ]]
利用了可用的资源。