Как говорится в заголовке, что делает «= ~» в сценарии оболочки bash, работающем на Linux? Я googled онлайн и обнаружил, что «==» проверяет равенство и «! =» Проверяет неравенство. Как насчет «= ~»? Наверное, это может быть какое-то регулярное выражение?Что делает «= ~» в оболочке bash linux
-2
A
ответ
2
=~
делает Баш regular expression match
продукта пример
$ [[ 45 =~ [0-9]+ ]] && echo "45 contains digits"
45 contains digits
$ [[ "hello" =~ [0-9]+ ]] && echo "hello doesnt contains digits"
$ [[ "hello" =~ [a-z]+ ]] && echo "hello contains alphabets"
hello contains alphabets
1
Да, это регулярное выражение. Это в bash
manual:
Дополнительный бинарный оператор,
=~
, есть в наличии, с тем же приоритетом, как и==
!=
. Когда он используется, строка справа от оператора считается расширенным регулярным выражением и соответствующим образом соответствует (как в regex3)).
Зачем угадывать, а не просто читать документацию? – Barmar
Не нашли документацию. Googled и не нашел ответа. –
Что вы видите, если вы google "bash manual"? Во всяком случае, я дал вам ссылку в своем ответе, пометив ее. – Barmar