как проверить, начинается ли строка с xx и заканчивается ли yy в shellscript? - PullRequest
0 голосов
/ 01 августа 2020

В приведенном ниже примере я хочу выяснить, начинается ли предложение с 'ap' и заканчивается ли 'e'.

пример: a = "apple"

if [[ "$a" == ^"ap"+$ ]]

Это не дает правильного вывода.

1 Ответ

1 голос
/ 01 августа 2020

Вы не указываете, какую оболочку вы используете, но [[ в вашей попытке предполагает, что вы используете оболочку, расширяющую базовый язык POSIX sh. Следующее работает как минимум с bash, zsh и ksh93:

$ a=apple
$ [[ $a == ap*e ]] && echo matches # Wildcard pattern
matches
$ [[ $a =~ ^ap.*e$ ]] && echo matches # Regular expression - note the =~
matches
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...