ค้นหาที่ของคุณ PS1
ตั้งของคุณใน.bashrc
และแทรก'\[\e[1m\]'
ที่จุดเริ่มต้นและ\[\e[0m\]
จุดสิ้นสุด
\[
และ\]
มีความจำเป็นดังนั้นเชลล์จึงรู้ว่ามีระเบียบอยู่ภายในใช้พื้นที่ 0 บนหน้าจอซึ่งจะป้องกันพฤติกรรมที่เกิดการเมาเมื่อทำการแก้ไขบรรทัด คุณไม่จำเป็นต้องกังวลมากเกินไป
\e[
เป็นที่รู้จักในนาม CSI (ผู้แนะนำลำดับการควบคุม) คุณจะเห็นมันใช้ในรหัสส่วนใหญ่ที่ระบุไว้ในหน้า Wikipedia อ้างอิง \e
หมายถึงตัวละครที่หลบหนี
- หากคุณดูในตาราง SGR ในหน้า Wikipedia คุณจะเห็น 1 คือหมายเลขของข้อความที่สว่าง / ตัวหนาและ 0 สำหรับการรีเซ็ต ดังนั้น
CSI 1m
จะเปิดตัวหนาและCSI 0m
รีเซ็ตแบบอักษรเพื่อให้ข้อความที่เหลือของคุณเป็นเรื่องปกติ
Wikipedia มีรายการรหัสหลบหนี ANSI ทั้งหมดที่คุณสามารถใช้ได้หากเทอร์มินัลอีมูเลเตอร์ของคุณรองรับ
แก้ไข
เพื่อความสะดวกในการพกพาและความสามารถในการอ่านคุณควรใช้tput
แทนรหัสการเข้ารหัสฮาร์ดโค้ด ข้อเสียเพียงอย่างเดียวคือtput
วิธีการใช้งานไม่ได้กับเทอร์มินัลที่สนับสนุนรหัส ANSI แต่มีฐานข้อมูล terminfo ที่เสียหายหรือขาดหายไป แต่ในกรณีนั้น terminfo ที่ใช้งานไม่ได้เป็นปัญหาที่ใหญ่กว่าเนื่องจากแอปคอนโซลของคุณ
นี่คือตัวอย่างของสิ่งที่ฉันทำในของฉัน.bashrc
:
# color names for readibility
reset=$(tput sgr0)
bold=$(tput bold)
black=$(tput setaf 0)
red=$(tput setaf 1)
green=$(tput setaf 2)
yellow=$(tput setaf 3)
blue=$(tput setaf 4)
magenta=$(tput setaf 5)
cyan=$(tput setaf 6)
white=$(tput setaf 7)
user_color=$green
[ "$UID" -eq 0 ] && { user_color=$red; }
PS1="\[$reset\][\[$cyan\]\A\[$reset\]]\[$user_color\]\u@\h(\l)\
\[$white\]:\[$blue\]\W\[$reset\][\[$yellow\]\$?\[$reset\]]\[$white\]\
\\$\[$reset\] "
นี่คือลักษณะทั่วไปของรุ่นของฉัน 0
คือออกจากสถานะของคำสั่งสุดท้าย