ฉันมีเชลล์สคริปต์ที่ใช้สิ่งต่อไปนี้เพื่อพิมพ์เครื่องหมายถูกสีเขียวในผลลัพธ์:
col_green="\e[32;01m"
col_reset="\e[39;49;00m"
echo -e "Done ${col_green}✓${col_reset}"
หลังจากที่ได้อ่านเกี่ยวกับการทุบตีของANSI-C Quotingผมรู้ว่าผมสามารถใช้มันเมื่อตั้งค่าตัวแปรสีของฉันและเอา-e
ธงจากฉันก้อง
col_green=$'\e[32;01m'
col_reset=$'\e[39;49;00m'
echo "Done ${col_green}✓${col_reset}"
ดูเหมือนว่าน่าสนใจเพราะมันหมายถึงข้อความที่พิมพ์อย่างถูกต้องไม่ว่ามันจะถูกส่งผ่านไปยังเสียงสะท้อนในตัวของ Bash หรือการใช้งานภายนอก/bin/echo
(ฉันใช้บน macOS)
แต่สิ่งนี้ทำให้สคริปต์พกพาน้อยลงหรือไม่ ฉันรู้ว่า Bash และ Zsh สนับสนุนรูปแบบการอ้างอิงนี้ แต่ฉันไม่แน่ใจเกี่ยวกับคนอื่น