Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

วิธีปรับแต่ง Bash Colours และ Content ใน Linux Terminal Prompt

วันนี้ Bash เป็นเชลล์เริ่มต้นในลีนุกซ์รุ่นใหม่ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) อย่างไรก็ตาม คุณอาจสังเกตเห็นว่าสีข้อความในเทอร์มินัลและเนื้อหาพร้อมท์อาจแตกต่างจาก distro ที่หนึ่งไปยังอีกที่หนึ่ง

แนะนำให้อ่าน: 5 โอเพ่นซอร์สเชลล์ที่ใช้บ่อยที่สุดสำหรับ Linux

ในกรณีที่คุณสงสัยว่าจะปรับแต่งสิ่งนี้อย่างไรเพื่อให้สามารถเข้าถึงได้ง่ายยิ่งขึ้นหรือเพียงแค่ตั้งใจ โปรดอ่านต่อไป – ในบทความนี้เราจะอธิบายวิธีการทำอย่างนั้น

ตัวแปรสภาพแวดล้อม PS1 Bash

พรอมต์คำสั่งและลักษณะที่ปรากฏของเทอร์มินัลถูกควบคุมโดยตัวแปรสภาพแวดล้อมที่เรียกว่า PS1 . ตาม ทุบตี หน้าคน PS1 แสดงถึงสตริงพร้อมท์หลักซึ่งจะแสดงเมื่อเชลล์พร้อมที่จะอ่านคำสั่ง

เนื้อหาที่อนุญาตใน PS1 ประกอบด้วยอักขระพิเศษที่ใช้ Escape แบ็กสแลชหลายตัวซึ่งมีความหมายอยู่ใน PROMPTING ของหน้าคน

เพื่อแสดงเนื้อหาปัจจุบันของ PS1 ในระบบของเรา (กรณีของคุณอาจแตกต่างกันบ้าง):

$ echo $PS1

[\admin@wsxdn.com\h \W]$

ตอนนี้เราจะอธิบายวิธีปรับแต่ง PS1 ตามความต้องการของเรา

การปรับแต่งรูปแบบ PS1

ตามส่วน PROMPTING ในหน้า man นี่คือความหมายของอักขระพิเศษแต่ละตัว:

  1. \u: ชื่อผู้ใช้ ของผู้ใช้ปัจจุบัน
  2. \h: ชื่อโฮสต์ จนถึงจุดแรก (.) ในชื่อโดเมนที่มีคุณสมบัติครบถ้วน
  3. \W: ชื่อฐาน ของไดเร็กทอรีการทำงานปัจจุบัน โดยมี $HOME ย่อด้วยตัวหนอน (~) .
  4. \$: หากผู้ใช้ปัจจุบันเป็นรูท ให้แสดง # , $ อย่างอื่น

ตัวอย่างเช่น เราอาจต้องการพิจารณาเพิ่ม \! หากเราต้องการแสดงหมายเลขประวัติของคำสั่งปัจจุบัน หรือ \H หากเราต้องการแสดง FQDN แทนชื่อเซิร์ฟเวอร์แบบสั้น

ในตัวอย่างต่อไปนี้ เราจะนำเข้าทั้งสองในสภาพแวดล้อมปัจจุบันของเราโดยดำเนินการคำสั่งนี้:

PS1="[\admin@wsxdn.com\H \W \!]$"

เมื่อคุณกด Enter คุณจะเห็นว่าเนื้อหาพร้อมท์เปลี่ยนแปลงดังที่แสดงด้านล่าง เปรียบเทียบพรอมต์ก่อนและหลังรันคำสั่งด้านบน:

วิธีปรับแต่ง Bash Colours และ Content ใน Linux Terminal Prompt

ตอนนี้ ไปต่ออีกขั้นแล้วเปลี่ยนสีของ ผู้ใช้ และ ชื่อโฮสต์ ใน command prompt – ทั้งข้อความและพื้นหลังโดยรอบ

ที่จริงแล้ว เราปรับแต่งพรอมต์ได้ 3 ด้าน:

รูปแบบข้อความ สีพื้นหน้า (ข้อความ) สีพื้นหลัง
0:ข้อความปกติ 30:สีดำ 40:สีดำ
1:ตัวหนา 31:สีแดง 41:สีแดง
4:ข้อความที่ขีดเส้นใต้ 32:สีเขียว 42:สีเขียว
33:สีเหลือง 43:สีเหลือง
34:สีน้ำเงิน 44:สีน้ำเงิน
35:สีม่วง 45:สีม่วง
36:สีฟ้า 46:สีฟ้า
37:สีขาว 47:สีขาว

เราจะใช้ \e อักขระพิเศษที่จุดเริ่มต้นและ m ในตอนท้ายเพื่อระบุว่าสิ่งต่อไปนี้เป็นลำดับสี

ในลำดับนี้ ค่าสามค่า (พื้นหลัง , รูปแบบ และ เบื้องหน้า ) คั่นด้วยเครื่องหมายจุลภาค (หากไม่มีค่าใด ๆ ให้ถือว่าค่าเริ่มต้น)

แนะนำให้อ่าน: เรียนรู้การเขียนสคริปต์ Bash Shell ใน Linux

นอกจากนี้ เนื่องจากช่วงค่าต่างกัน ไม่สำคัญว่าช่วงใด (พื้นหลัง , รูปแบบ หรือ เบื้องหน้า ) คุณระบุก่อน

ตัวอย่างเช่น PS1 . ต่อไปนี้ จะทำให้ข้อความแจ้งปรากฏเป็นสีเหลือง ข้อความที่ขีดเส้นใต้ด้วย สีแดง พื้นหลัง:

PS1="\e[41;4;33m[\admin@wsxdn.com\h \W]$ "
วิธีปรับแต่ง Bash Colours และ Content ใน Linux Terminal Prompt

ดีเท่าที่เห็น การปรับแต่งนี้จะคงอยู่สำหรับเซสชันผู้ใช้ปัจจุบันเท่านั้น หากคุณปิดเทอร์มินัลหรือออกจากเซสชัน การเปลี่ยนแปลงจะสูญหายไป

ในการทำการเปลี่ยนแปลงเหล่านี้อย่างถาวร คุณจะต้องเพิ่มบรรทัดต่อไปนี้ใน ~/.bashrc หรือ ~/.bash_profile ขึ้นอยู่กับการกระจายของคุณ:

PS1="\e[41;4;33m[\admin@wsxdn.com\h \W]$ "

อย่าลังเลที่จะเล่นกับสีต่างๆ เพื่อค้นหาสิ่งที่ดีที่สุดสำหรับคุณ

สรุป

ในบทความนี้ เราได้อธิบายวิธีปรับแต่งสีและเนื้อหาของพรอมต์ Bash ของคุณ หากคุณมีคำถามหรือข้อเสนอแนะเกี่ยวกับโพสต์นี้ โปรดใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อติดต่อเรา เราหวังว่าจะได้รับการติดต่อจากคุณ!