โดยทั่วไปแล้วการได้รับสีในปัจจุบันนั้นเป็นไปไม่ได้ การประมวลผลลำดับการควบคุมของเทอร์มินัลเกิดขึ้น "ภายใน" เทอร์มินัลไม่ว่าจะเกิดอะไรขึ้นก็ตาม ด้วยเทอร์มินัลอีมูเลเตอร์เช่นxterm
หรือสิ่งที่สร้างไว้ในเคอร์เนลระบบปฏิบัติการที่จัดเตรียมเทอร์มินัลเสมือนของเคอร์เนลสถานะภายในของอีมูเลเตอร์รวมถึงแนวคิดของ "การเรนเดอร์กราฟิก" ในปัจจุบัน (เช่นสีและคุณสมบัติ) ตัวเองและสามารถเข้าถึงได้ในทางทฤษฎี แต่สำหรับเทอร์มินัลตัวจริงข้อมูลนี้อยู่ในตำแหน่ง RAM บางแห่งบนเครื่องแยกทางกายภาพที่เชื่อมต่อผ่านการเชื่อมต่อแบบอนุกรม
ที่กล่าวว่าอาคารบางแห่งมีกลไกสำหรับการอ่านข้อมูลดังกล่าวเป็นส่วนหนึ่งของโปรโตคอลเทอร์มินัลของพวกเขาที่ถูกส่งไปที่ลิงค์อนุกรมที่ พวกเขาจัดเตรียมลำดับการควบคุมที่โปรแกรมสามารถส่งไปยังเทอร์มินัลซึ่งทำให้ส่งข้อมูลเกี่ยวกับสถานะภายในกลับไปเป็นเทอร์มินัลอินพุต mikeserv
ได้แสดงลำดับการควบคุมที่xterm
เทอร์มินัลอีมูเลเตอร์ตอบกลับไปแล้ว xterm
แต่เหล่านี้เป็นที่เฉพาะเจาะจงเพื่อ เทอร์มินัลอีมูเลเตอร์ในตัวในเคอร์เนล Linux และเมล็ด BSD ต่างๆเป็นประเภทเทอร์มินัลที่แตกต่างกันตัวอย่างเช่นและไม่ใช้ลำดับการควบคุมใด ๆ เลย เช่นเดียวกันสำหรับทั้งครอบครัวของเทอร์มินัลจริง
ขั้วธันวาคม VT525 ใช้กลไกการอ่านออก xterm
แต่มีชุดของลำดับการควบคุมที่หมีความสัมพันธ์กับผู้ใช้โดยไม่มี หนึ่งส่งลำดับ DECRQSS (ร้องขอการเลือกหรือการตั้งค่า) เพื่อร้องขอการเรนเดอร์กราฟิกปัจจุบันและเทอร์มินัลตอบสนองโดยการส่ง DECRPSS (การเลือกรายงานหรือการตั้งค่า) โดยเฉพาะ:
- โฮสต์ส่ง: DCS
$
q
m
ST (DECRQSS พร้อมส่วนฟังก์ชันการควบคุมของ SGR เป็นการตั้งค่า)
- เทอร์มินัลตอบสนอง: DCS
0
$
r
0
;
3
3
;
4
4
m
ST (DECRPSS พร้อมพารามิเตอร์และส่วนควบคุมฟังก์ชั่นของลำดับการควบคุม SGR ที่ตั้งค่าสีพื้นหน้าและพื้นหลังปัจจุบัน)
แน่นอนว่าการอ่านคำถามของคุณอย่างระมัดระวังแสดงให้เห็นว่าคุณกำลังโบกกล้วยช็อกโกแลตที่ระบบสกุลเงินในยุโรปอีกครั้ง สิ่งที่คุณพยายามทำจริงซึ่งคุณได้เลือกวิธีการแก้ปัญหาแล้วถามวิธีการเป็นส่วนหนึ่งของการแก้ปัญหานั้นคือการรักษาสถานะก่อนหน้าในขณะที่คุณเขียนเอาท์พุท colourized บางส่วน ไม่เพียง แต่จะมีลำดับการควบคุม DEC VT สำหรับการทำเช่นนี้ แต่ยังมีลำดับเทอร์มินัลคอนโซล SCO สำหรับการรับรู้โดยxterm
และตัวจำลองเทอร์มินัลเคอร์เนลในตัวและรายการ termcap / terminfo ที่บอกคุณว่ามันคืออะไร
รายการ termcap มีและsc
rc
รายการ terminfo มีและsave_cursor
restore_cursor
ชื่อค่อนข้างทำให้เข้าใจผิดว่ามีผลกระทบ (แม้ว่าพวกเขาจะทำหน้าที่เป็นคำเตือนว่าคุณกำลังพึ่งพาสิ่งที่เป็นจริงมากกว่าทางนิตินัย ) ลำดับการควบคุม DECSC, DECRC, SCOSC และ SCORC จริงจะบันทึกและกู้คืนการเรนเดอร์กราฟิกปัจจุบันเช่นกัน
ระบุว่าบทความที่คุณชี้ไปคือทั้งหมดที่เกี่ยวกับการสร้างลำดับการควบคุมจากเชลล์สคริปต์คำสั่งที่คุณกำลังตอนนี้tput
มองหา
อ่านเพิ่มเติม
echotc Co
หรือechoti colors
แต่ไม่มีตัวแปรที่เก็บข้อกำหนดรหัสสีปัจจุบัน