Назад | Перейти на главную страницу

как сопоставить пробел в переменной bash

Согласно странице руководства, строка справа от =~ рассматривается как расширенное регулярное выражение. Я пробовал следующие вещи, чтобы сопоставить «ОК», окруженное пробелами с обеих сторон, но ничего не работает. Есть идеи, что я делаю не так? Может быть, есть опция оболочки, которую нужно включить?

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

ПРИМЕЧАНИЕ: ответ на вопрос ниже.

Ладно, оказывается, нужно [[:space:]] вместо того [:space:]. Следующие работы:

if ! [[ $RESULT =~ [[:space:]]"ok"[[:space:]] ]]; then