Я не могу сохранить определенное регулярное выражение в переменной в bash.
regex=".*(w1|w2|w3|w4).*" echo $regex
Ожидаемый вывод:
.*(w1|w2|w3|w4).*
Фактический вывод:
..
Как мне решить эту проблему?
Хранится правильно. Проблема в том, что вы используете переменную неправильно: вы должны заключить переменную в кавычки, в противном случае результат будет расширен оболочкой и интерпретирован как глобус оболочки.
Итак, используйте
echo "$regex"