2017-02-02 2 views
0

Я хочу написать сценарий bash, который принимает строку ввода, и если он не содержит определенного тега в начале, добавьте тег в начало. Ниже приведен сценарий, который я написалРегулярное выражение, содержащее переменную, когда сравнение с регулярным выражением

Это хорошо работает, пока тег не содержит ключевое слово определенного выражения.

Например, если тег был установлен в [hello], фильтр не работает, поскольку квадратная скобка является ключевым словом.

Как изменить filter так, чтобы он игнорировал любые ключевые слова, содержащиеся в tag?

+0

Как вы используете скрипт? – Inian

ответ

1

Вы можете использовать шаблоны оболочки вместо регулярных выражений и quote them to avoid interpretation of meta characters:

if [[ $message != "$tag"* ]]; then 
    message="$tag $message" 
fi 
+0

спасибо. '[[$ message = ~ ^" $ tag ". *]]' работал тоже – BAdhi

Смежные вопросы