如何测试字符串是否与POSIX shell中的正则表达式匹配?(不是猛击)

我使用的是Ubuntu system shell,而不是bash,我发现常规方法无法工作:

#/垃圾箱/垃圾箱
string='My string';
如果[[$string=~.*My.*]]
然后
回声:“它在那儿!”
fi

错误[[:未找到

我能做些什么来解决这个问题

为什么要对这样简单的图案使用grep?通过Sh内置的匹配引擎避免不必要的fork

案例中的“$value”
*XXX*)回声正常;;
*)回波失败;;
以撒

它与POSIX兼容。Bash为此简化了语法:

如果[[“$value”==*XXX*];那么:;fi

甚至正则表达式:

[[abcd=~b.*d]]&回音正常

发表评论