string=123456
if [ $string == 123456 ]; then
echo 123
fi
Điều này hoạt động tốt, nhưng nếu tôi thay đổi == thành = ~ Tôi gặp lỗi này:
./test: line 3: [: =~: binary operator expected
@ val0x00ff nhưng
—
roaima
123456
là RE hợp lệ
@roaima đồng ý, tuy nhiên regex được biết đến với công cụ của nó, tham chiếu ngược, bộ ký tự, ký tự meta biểu thị bắt đầu một chuỗi, kết thúc chuỗi, v.v.
—
Valentin Bajrami
=~
là trong trường hợp này sai.=~
so sánh các patter (bên trái của bài tập) với một biểu hiện thường xuyênregex
ở phía bên phải của khẳng định. Một biểu thức chính quy ở dạng đơn giản nhất của nó được thông qua như'[0-9][0-9]'