Zsh:Выполнение ЗШ «если», где шаблон хранится в переменной
У меня есть переменные NAME и PATTERN и хотите знать, соответствует ли строка хранится в наименовании Глоб-шаблон, хранящийся в переменной PATTERN ,
Например:
NAME=foobar
PATTERN='*ob*'
должен дать матч.
Я не могу сделать
[[ $NAME == $PATTERN ]] && ...
, потому что расширение параметр PATTERN происходит слишком поздно. Я может сделать один из
[[ $NAME == ${=PATTERN} ]] && ...
[[ $NAME == $~PATTERN ]] && ...
потому что обе формы силы $ PATTERN быть расширен ранее.
Вопрос: Какая из двух форм лучше? Есть ли опасность (тип PATTERN), который нарушит код? Может быть, лучший способ написать этот код?
Спасибо, что попробовали его с вашим zsh. Хотя '=' происходит с wrok на моем старом 5.1.1, хорошо знать, что это не переносимо, и я буду придерживаться '~'. – user1934428