ฉันพยายามรับสีเมื่อทำงานshellcheck <file> | less
ดังนั้นฉันจึงลองคำตอบข้างต้น แต่พวกมันให้เอฟเฟ็กต์ที่แปลกประหลาดซึ่งข้อความจะถูกชดเชยในแนวนอนจากตำแหน่งที่ควรจะเป็น:
In ./all/update.sh line 6:
for repo in $(cat repos); do
^-- SC2013: To read lines rather than words, pipe/redirect to a 'while read' loop.
(สำหรับผู้ที่ไม่คุ้นเคยกับ shellcheck บรรทัดที่มีคำเตือนควรจะตรงกับที่เป็นปัญหา)
เพื่อคำตอบข้างต้นเพื่อทำงานกับ shellcheck ฉันลองหนึ่งในตัวเลือกจากความคิดเห็น:
faketty() {
0</dev/null script -qfc "$(printf "%q " "$@")" /dev/null
}
วิธีนี้ใช้ได้ผล ฉันยังเพิ่ม--return
และใช้ตัวเลือกแบบยาวเพื่อทำให้คำสั่งนี้ไม่น่าเชื่อถือน้อยลงเล็กน้อย:
faketty() {
0</dev/null script --quiet --flush --return --command "$(printf "%q " "$@")" /dev/null
}
ทำงานใน Bash และ Zsh