string=123456
if [ $string == 123456 ]; then
echo 123
fi
Это работает нормально, но если я изменяю == на = ~, я получаю эту ошибку:
./test: line 3: [: =~: binary operator expected
@ val0x00ff, но
—
roaima
123456
является действительным RE
@roaima согласилась, однако regex известен своим движком, обратными ссылками, набором символов, метасимволами, обозначающими начало строки, конец строки и т. д.
—
Valentin
=~
в этом случае неправильно.=~
сравнивает скороговорку (левая сторона задания) с регулярным выражениемregex
на правой стороне задания. Регулярное выражение в его простейшей форме передается как'[0-9][0-9]'