Його змінили між 3.1 та 3.2 . Думаю, розширений путівник потребує оновлення.
Це стислий опис нових функцій, доданих до bash-3.2 з моменту випуску bash-3.1. Як завжди, сторінка керівництва (doc / bash.1) - це місце для пошуку повних описів.
- Нові можливості в Bash
відрізати
f. Цитування аргументу рядка оператору [[command's = ~] тепер змушує збіг рядків, як і з іншими операторами збігу шаблонів.
На жаль, це порушить існуючі цитати за допомогою сценаріїв, якщо у вас не було розуміння зберігати шаблони у змінних та використовувати їх замість регулярних виразів. Приклад нижче.
$ bash --version
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
$ number=2
$ if [[ $number =~ "[0-9]" ]]; then echo match; fi
$ if [[ $number =~ [0-9] ]]; then echo match; fi
match
$ re="[0-9]"
$ if [[ $number =~ $re ]]; then echo MATCH; fi
MATCH
$ bash --version
GNU bash, version 3.00.0(1)-release (i586-suse-linux)
Copyright (C) 2004 Free Software Foundation, Inc.
$ number=2
$ if [[ $number =~ "[0-9]" ]]; then echo match; fi
match
$ if [[ "$number" =~ [0-9] ]]; then echo match; fi
match