根据手册页,右侧的字符串=~
被视为扩展正则表达式。我尝试了以下方法来匹配两边被空格包围的“ok”,但没有任何效果。知道我做错了什么吗?也许有一个需要启用的shell选项?
if ! [[ $RESULT =~ \s"ok"\s ]]; then
if ! [[ $RESULT =~ [:space:]"ok"[:space:] ]]; then
if ! [[ $RESULT =~ [ \t\r\n\v\f]"ok"[ \t\r\n\v\f] ]]; then
Run Code Online (Sandbox Code Playgroud)
注意:下面的自我回答问题。
Mic*_*nez 10
好的,事实证明一个需要[[:space:]]
而不是[:space:]
. 以下工作:
if ! [[ $RESULT =~ [[:space:]]"ok"[[:space:]] ]]; then
Run Code Online (Sandbox Code Playgroud)