string=123456
if [ $string == 123456 ]; then
echo 123
fi
สิ่งนี้ใช้ได้ดี แต่ถ้าฉันเปลี่ยน == เป็น = ~ ฉันได้รับข้อผิดพลาดนี้:
./test: line 3: [: =~: binary operator expected
@ val0x00ff แต่
—
roaima
123456
เป็น RE ที่ถูกต้อง
@roaima เห็นด้วยอย่างไรก็ตาม regex นั้นเป็นที่รู้จักกันดีในเรื่องของเครื่องยนต์การอ้างอิงย้อนกลับชุดอักขระตัวอักษรเมตาดาต้าที่แสดงถึงการเริ่มต้นของสตริงการสิ้นสุดของสตริงเป็นต้น
—
Valentin Bajrami
=~
ในกรณีนี้ผิด=~
เปรียบเทียบลาย (ด้านซ้ายของการมอบหมาย) กับการแสดงออกปกติregex
ทางด้านขวาของการสรุป การแสดงออกปกติในรูปแบบที่ง่ายที่สุดจะถูกส่งผ่านเช่น'[0-9][0-9]'