วิธีปรับแต่งสี Bash และเนื้อหาใน Linux Terminal Prompt
ปัจจุบัน Bash เป็นเชลล์เริ่มต้นในลีนุกซ์รุ่นใหม่ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) อย่างไรก็ตาม คุณอาจสังเกตเห็นว่าสีข้อความในเทอร์มินัลและเนื้อหาพร้อมต์อาจแตกต่างกันไปใน distro ที่หนึ่งไปยังอีกที่หนึ่ง
การอ่านที่แนะนำ: 5 Open Source Shells ที่ใช้บ่อยที่สุดสำหรับ Linux
ในกรณีที่คุณสงสัยว่าจะปรับแต่งสิ่งนี้อย่างไรเพื่อให้เข้าถึงได้ดีขึ้นหรือไม่ได้ตั้งใจ โปรดอ่านต่อ – ในบทความนี้ เราจะอธิบายวิธีการทำเช่นนั้น
ตัวแปรสภาพแวดล้อม Bash ของ PS1
พรอมต์คำสั่งและรูปลักษณ์ของเทอร์มินัลจะถูกควบคุมโดยตัวแปรสภาพแวดล้อมที่เรียกว่า PS1
ตามหน้าคู่มือ Bash PS1 แสดงถึงสตริงพร้อมท์หลักซึ่งจะแสดงเมื่อเชลล์พร้อมที่จะอ่านคำสั่ง
เนื้อหาที่อนุญาตใน PS1 ประกอบด้วยอักขระพิเศษที่ใช้เครื่องหมายแบ็กสแลชหลายตัว ซึ่งความหมายแสดงอยู่ในส่วน การแจ้ง ของหน้า man
เพื่อให้เห็นภาพ เรามาแสดงเนื้อหาปัจจุบันของ PS1
ในระบบของเรา (ซึ่งอาจแตกต่างออกไปบ้างในกรณีของคุณ):
echo $PS1
[\u@\h \W]$
ตอนนี้เราจะอธิบายวิธีปรับแต่ง PS1 ตามความต้องการของเรา
การปรับแต่งรูปแบบ PS1
ตามส่วน PROMPTING ในหน้า man นี่คือความหมายของอักขระพิเศษแต่ละตัว:
\u:
ชื่อผู้ใช้ ของผู้ใช้ปัจจุบัน\h:
ชื่อโฮสต์ จนถึงจุดแรก (.) ในชื่อโดเมนที่มีคุณสมบัติครบถ้วน\W:
ชื่อฐาน ของไดเร็กทอรีการทำงานปัจจุบัน โดยมี $HOME ย่อด้วยเครื่องหมายทิลเดอ (~)\$:
หากผู้ใช้ปัจจุบันเป็น root ให้แสดง #, $ มิฉะนั้น
ตัวอย่างเช่น เราอาจพิจารณาเพิ่ม \!
หากเราต้องการแสดงหมายเลขประวัติของคำสั่งปัจจุบัน หรือ \H
หากเราต้องการแสดง FQDN แทน ชื่อเซิร์ฟเวอร์แบบสั้น
ในตัวอย่างต่อไปนี้ เราจะนำเข้าทั้งสองอย่างในสภาพแวดล้อมปัจจุบันของเราโดยดำเนินการคำสั่งนี้:
PS1="[\u@\H \W \!]$"
เมื่อคุณกด Enter คุณจะเห็นว่าเนื้อหาที่แจ้งเปลี่ยนแปลงดังที่แสดงด้านล่าง เปรียบเทียบพรอมต์ก่อนและหลังการดำเนินการคำสั่งด้านบน:
ตอนนี้เราไปอีกขั้นหนึ่งแล้วเปลี่ยนสีของผู้ใช้และชื่อโฮสต์ในพร้อมท์คำสั่ง – ทั้งข้อความและพื้นหลังโดยรอบ
จริงๆ แล้ว เราสามารถปรับแต่งพรอมต์ได้ 3 ด้าน:
Text Format | Foreground (text) color | Background color |
0: normal text | 30: Black | 40: Black |
1: bold | 31: Red | 41: Red |
4: Underlined text | 32: Green | 42: Green |
33: Yellow | 43: Yellow | |
34: Blue | 44: Blue | |
35: Purple | 45: Purple | |
36: Cyan | 46: Cyan | |
37: White | 47: White |
เราจะใช้อักขระพิเศษ \e
ที่จุดเริ่มต้นและ m
ที่ท้ายเพื่อระบุว่าสิ่งที่ตามมาคือลำดับสี
ในลำดับนี้ ค่าสามค่า (พื้นหลัง, รูปแบบ และ เบื้องหน้า) จะถูกคั่นด้วยเครื่องหมายจุลภาค (หากไม่มีการระบุค่า ระบบจะถือว่าค่าเริ่มต้น) .
แนะนำให้อ่าน: เรียนรู้การเขียนสคริปต์ Bash Shell ใน Linux
นอกจากนี้ เนื่องจากช่วงของค่าแตกต่างกัน จึงไม่สำคัญว่าคุณจะระบุ (พื้นหลัง, รูปแบบ หรือ เบื้องหน้า) ใดก่อน
ตัวอย่างเช่น PS1
ต่อไปนี้จะทำให้ข้อความแจ้งปรากฏขึ้นในข้อความที่ขีดเส้นใต้ สีเหลือง โดยมีพื้นหลัง สีแดง:
PS1="\e[41;4;33m[\u@\h \W]$ "
แม้ว่ารูปลักษณ์ภายนอกจะดูดี แต่การปรับแต่งนี้จะคงอยู่เฉพาะในเซสชันผู้ใช้ปัจจุบันเท่านั้น หากคุณปิดเทอร์มินัลหรือออกจากเซสชัน การเปลี่ยนแปลงจะหายไป
เพื่อที่จะทำการเปลี่ยนแปลงเหล่านี้อย่างถาวร คุณจะต้องเพิ่มบรรทัดต่อไปนี้ใน ~/.bashrc
หรือ ~/.bash_profile
ขึ้นอยู่กับการกระจายของคุณ:
PS1="\e[41;4;33m[\u@\h \W]$ "
อย่าลังเลที่จะลองใช้สีต่างๆ เพื่อค้นหาสิ่งที่ดีที่สุดสำหรับคุณ
สรุป
ในบทความนี้ เราได้อธิบายวิธีปรับแต่งสีและเนื้อหาของพรอมต์ Bash ของคุณ หากคุณมีคำถามหรือข้อเสนอแนะเกี่ยวกับโพสต์นี้ โปรดใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อติดต่อเรา เราหวังว่าจะได้ยินจากคุณ!