เพราะเห็นได้ชัดว่า Mac OS เป็นหนึ่งในระบบที่ตอบสนองต่อxpg_echo
ตัวเลือกเมื่อทำงานในโหมด POSIX การรัน bash เป็น / bin / sh เทียบเท่ากับการรันด้วย--posix
หรือตั้งค่า POSIXLY_CORRECT
ทางออกคือหยุดใช้echo
ยกเว้นในกรณีที่ไม่มีความกำกวม printf
เป็นอุปกรณ์ทดแทนแบบพกพา อย่าใช้ตัวเลือกการตั้งค่าสถานะเพื่อสะท้อน (และใช้printf
ถ้าคุณ)
มีการใช้งานในอดีตที่เข้ากันไม่ได้หลายอย่างecho
ซึ่งทำลายข้อกำหนดของมันในลักษณะที่ไม่สามารถแก้ไขได้และธงตัวเลือกจึงไม่สามารถพกพาได้ ฉันไม่ทราบว่ามีสิ่งใดที่ใช้ POSIX echo
อย่างถูกต้องในปัจจุบัน
shopt -u xpg_echo
ควรแก้ไขพฤติกรรมนี้ เช่นเดียวกับที่คุณค้นพบแล้วไม่ได้ทำงานในโหมด POSIX
นอกจากนี้คุณอาจต้องการอัปเกรด ... bash 3 เริ่มมีค่าเล็กน้อย ข้อบกพร่องหลายอย่างได้รับการแก้ไขตั้งแต่