ไม่ได้จริงๆ สีของเอาต์พุตของโปรแกรมที่กำหนดถูกควบคุมโดยคำสั่งไม่ใช่โดยเทอร์มินัล
ที่กล่าวว่าสมมติว่าเทอร์มินัลของคุณเข้าใจรหัสการหลบหนี ANSI สำหรับสี (ส่วนใหญ่ทำ) คุณสามารถใช้รหัสการหลบหนีเพื่อตั้งค่าสีพรอมต์ที่คุณต้องการที่จุดเริ่มต้นของพรอมต์และสีเอาต์พุตที่ต้องการในตอนท้าย สิ่งนี้จะส่งผลให้บรรทัดคำสั่งของคุณมีสีที่คุณกำหนดไว้สำหรับเอาต์พุต แต่ก็อาจจะใกล้เคียงที่สุดเท่าที่คุณจะไปถึงสิ่งที่คุณกำลังมองหา ตัวอย่างเช่นต่อไปนี้:
$ export PS1='\[\033[00;35m\]\u\[\033[00m\]@\[\033[00;35m\]\H\[\033[00m\]:\[\033[00;33m\]\W\[\033[00m\] \$\[\033[00;34m '
จะให้พรอมต์ที่มีลักษณะดังนี้:
user@host:wd $ _
ด้วย 'user' และ 'host' เป็นสีม่วง 'wd' (cwd ของคุณ) เป็นสีน้ำตาล (สีเหลืองเข้ม) และทุกอย่างหลังจาก '$' ในสิ่งที่เทอร์มินัลของคุณใช้สำหรับแสงสีฟ้า (ค่าเริ่มต้น xterm จะแสดงผลเป็น cyan; gnome-terminal ดูเหมือนว่าจะเป็นค่าเริ่มต้นสำหรับเฉดสีน้ำเงินของคอร์นฟลาวเวอร์ที่ค่อนข้างดี)
รหัสสีจริงตามที่ระบุไว้ในรูปแบบที่จำเป็นสำหรับ bash คือเช่น\[\033[00;35m\]
ที่00;35
มีการกำหนดสีจริง การ00
เปลี่ยนแปลงชั้นนำไม่ค่อยมี แต่สามารถผลิต IIRC ตัวหนา (01), ขีดเส้นใต้ (??) และย้อนกลับวิดีโอ (??) ผลกระทบในขณะที่ '35' ต่อท้ายเป็นสีจริงซึ่งในกรณีนี้เป็นสีม่วง
เป็นการยากที่จะหารายการรหัสสี ANSI ที่น่าแปลกใจ แต่สีพื้นหน้าเริ่มต้นที่ 30 ถึง 37 และพื้นหลังจาก 40 ถึง 47 ดังต่อไปนี้:
color fg bg
black 30 40
red 31 41
green 32 42
yellow 33 43
blue 34 44
purple 35 45
cyan 36 46
gray/white 37 47
โปรดจำไว้ว่าเนื่องจากคุณกำลังตั้งค่าสีเริ่มต้นสำหรับทุกสิ่งที่เป็นไปตามพรอมต์ของคุณโปรแกรมที่คุณเรียกใช้ซึ่งไม่ได้ตั้งค่าสีของตนเองผ่านทางรหัสหลีกเลี่ยงจะใช้สีนั้น - ตัวอย่างเช่นหากคุณเรียกใช้ เพจเจอร์คุณน่าจะเห็นผลลัพธ์ในสีเดียวกับที่คุณตั้งไว้สำหรับคำสั่งอื่น ในขณะที่คำสั่งที่ไม่ตั้งค่าสีของตัวเองผ่านทางรหัสหนีจะไม่สนใจความพยายามของคุณทั้งหมด