โฮมเพจ » ทำอย่างไร » คุณทำให้ Bash Prompt เปลี่ยนสีได้อย่างไรเมื่อล็อกอินเข้าสู่เซิร์ฟเวอร์

    คุณทำให้ 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)