根据手册页,右侧的字符串=~
被视为扩展正则表达式。我尝试了以下方法来匹配两边被空格包围的“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
注意:以下是自我回答的问题。
答案1
好吧,事实证明我们需要的是[[:space:]]
而不是[:space:]
。以下方法可行:
if ! [[ $RESULT =~ [[:space:]]"ok"[[:space:]] ]]; then