หากฉันพยายามส่ง URL ไปยัง curl ที่มีเครื่องหมายวงเล็บมันจะล้มเหลวโดยมีข้อผิดพลาด:
$ curl 'http://www.google.com/?TEST[]=1'
curl: (3) [globbing] illegal character in range specification at pos 29
อย่างไรก็ตามหากฉันหลีกเลี่ยงวงเล็บทั้งสองมันจะทำงานได้:
$ curl 'http://www.google.com/?TEST\[\]=1'
น่าสนใจฉันใช้แบ็กสแลชเพื่อหลบหนีเฉพาะวงเล็บแรกที่ล้มเหลวอย่างเงียบ ๆ ด้วยรหัสข้อผิดพลาด 20497:
$ curl 'http://www.google.com/?TEST\[]=1'
$ echo $!
20497
คำถามของฉันคือวิธีแก้ไขปัญหานี้สำหรับกรณีทั่วไปหรือไม่ มีอาร์กิวเมนต์ที่จะหนี URL โดยอัตโนมัติหรือคำอธิบายของตัวละครที่ต้องหลบหนีก่อนที่จะผ่านไปขด