คุณทำให้ Bash Prompt เปลี่ยนสีได้อย่างไรเมื่อล็อกอินเข้าสู่เซิร์ฟเวอร์
หากคุณเข้าถึงเซิร์ฟเวอร์หลายเครื่องตลอดทั้งวันจากนั้นสามารถบอกได้ว่าคุณกำลังใช้เซิร์ฟเวอร์ตัวใดที่ทำงานร่วมกันโดยดูจากรูปแบบสีจะมีประโยชน์มาก โพสต์ SuperUser วันนี้ถาม & ตอบช่วยให้ผู้อ่านบรรลุนิพพานที่มีสีสันในสภาพแวดล้อมการทำงานของเขา.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
คำถาม
Superins ผู้อ่าน nitins ต้องการทราบวิธีการเปลี่ยน Bash Prompt สีเมื่อเข้าสู่เซิร์ฟเวอร์:
มีวิธีที่จะทำให้ Bash Prompt เป็นแบบไดนามิกเพื่อให้เปลี่ยนสีเมื่อฉันเข้าสู่เซิร์ฟเวอร์หรือไม่ ฉันต้องการให้สีเขียวเมื่อใช้ระบบส่วนตัวของฉันเอง แต่เปลี่ยนเป็นสีแดงเมื่อใดก็ตามที่ฉันเชื่อมต่อกับเซิร์ฟเวอร์ ฉันมีเซิร์ฟเวอร์จำนวนมากที่ฉันเข้าถึงและไม่ต้องการเปลี่ยนเป็นเซิร์ฟเวอร์อื่น .bashrc ในแต่ละคนและทุกคน.
คุณจะทำให้ Bash Prompt เปลี่ยนสีอย่างไรเมื่อล็อกอินเข้าสู่เซิร์ฟเวอร์?
คำตอบ
ผู้สนับสนุน SuperUser Matei David มีคำตอบสำหรับเรา:
Remote Bash Prompts ถูกตั้งค่าโดยรีโมท ~ / .bashrc, ดังนั้นคุณจะต้องคัดลอกไปยังเซิร์ฟเวอร์ระยะไกล อย่างไรก็ตามคุณสามารถใช้เพียงหนึ่งเดียว ~ / .bashrc สำหรับโฮสต์ทั้งหมดและตั้งค่าสี Bash Prompt ตามชื่อโฮสต์:
หมายเหตุ
- ห้ามตั้งค่า PS1 หากยังไม่ได้ตั้งค่า (เช่นหากเชลล์ไม่ได้อยู่ระหว่างการโต้ตอบ) ทดสอบดูว่า PS1 คือ“ ไม่ว่างเปล่า” เป็นวิธีทั่วไปในการค้นหาว่าเชลล์เป็นแบบโต้ตอบหรือไม่และคุณไม่ต้องการสร้างความสับสนให้กับโปรแกรมที่ทำเช่นนั้น (arguably การทดสอบที่แม่นยำยิ่งกว่านั้นคือการตรวจสอบเพื่อดูว่า $- มี ผม).
- หากคุณต้องการให้รหัสนี้ทำงานเมื่อลงชื่อเข้าใช้เซิร์ฟเวอร์ระยะไกลคุณควรมีแหล่งข้อมูลแฟ้มแหล่งใดแหล่งหนึ่งเสมอ ~ / .bashrc (ฉันสมมติว่าคุณรู้เรื่องนี้).
- ใน PS1, รหัสการหลบหนีจะต้องอยู่ใน \ [… \].
- \ [033 [เมตร รีเซ็ตพื้นหน้าและพื้นหลังเป็นค่าเริ่มต้นดังนั้นที่นี่ : \ W ปรากฏขึ้นในพื้นหน้า / พื้นหลังเทอร์มินัล.
- \ [033 [48; 5; XXXm \ 033 [38; 5; YYYm ตั้งค่าพื้นหลัง / เบื้องหน้าเป็น XXX / YYY.
- สำหรับสคริปต์ที่ทิ้งสีที่มีให้ลอง colortest.
- ในการตรวจสอบและดูว่า Bash Prompt มีลักษณะอย่างไรให้ใช้: echo -e“ $“
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.
เครดิตรูปภาพ: Emx (Wikipedia)