โพสท์นี้เกิดจากความคันมือจากการไปดู tutorial ต่างๆ ของฝรั่งเขาแล้วเห็นหน้าตา Terminal หรือ Shell ที่เขาใช้มันดูโก้หรูดู Geeky มาก เลยอยากได้อยากมีกับเขาบ้าง… ด้วยความเป็น Mac OSX ที่ถือว่าเป็นญาติสนิทของ Unix ก็ว่าได้ ดังนั้นการปรับแต่งย่อมไม่ยาก
ดังนี้
** บทความนี้ใช้ได้ทั้ง Unix และ Mac
เปลี่ยนหน้าตา Command Prompt
ลำดับแรกเรามาเปลี่ยนหน้าตา Prompt กันก่อน โดยปกติหน้าตา prompt ของ Mac จะหน้าตาประมาณรูปด้านล่าง พอลอง echo $PS1 ออกมาดูก็จะ output แปลกๆ อันนี้เรียกว่า “prompt escapes”
เราสามารถเปลี่ยนรูปแบบ prompt escapes ได้เลยโดยใช้คำสั่ง export PS=”รูปแบบ prompt escapes ที่ต้องการ”
1
| $ export PS1= "\n\u ~> [\w]\n\$ " |
จากตัวอย่าง ผมต้องการให้มีการ ขึ้นบรรทัดใหม่ (\n) เสมอเมื่อคำสั่งแสดงผลเสร็จ และ แสดงชื่อ user (\u) ที่ login จากนั้นก็แสดง path ที่ทำงานอยู่ ณ ปัจจุบันแบบเต็ม โดยให้อยู่ใน “[" "]” ([\w]) หลังจากนั้นก็ขึ้นบรรทัดใหม่และแสดง prompt เพื่อรับคำสั่งต่อไป (\n\$) หน้าตาก็จะได้อย่างรูปด้านล่าง
ตารางด้านล่างเป็น prompt escapes ทั้งหมดที่สามารถกำหนดได้ เราสามารถกำหนด prompt ของเราได้อย่างอิสระ
เปลี่ยนสีให้ Command Prompt
เพื่อให้แน่ใจว่า Terminal เปิดการใช้งาน ANSI colors อยู่หรือไม่ ให้เข้าไปดูที่ Terminal > Preferences… ตรง tab “Text” ให้เราไปเปิด Display ANSI colors ก่อน โดยการเลือกถูกด้านหน้า
สำหรับรูปแบบในการกำหนดสีของฝั่ง Mac และ ฝั่ง Linux จะต่างกันนิดหน่อยนะครับ
รูปแบบกำหนดสี prompt ของ Mac จะเป็น
1
| \[\033[COLOR_CODE_HERE\]PROMPT_ESCAPE_OR_TEXT_HERE\[\033[0m\] |
ส่วนฝั่ง Linux จะเป็น
1
| \e[COLOR_CODE PROMPT_ESCAPE\e[0m |
หากลองสังเกตดูจะเห็นว่ามี tag เปิด = \[\033[COLOR_CODE\] และ tag ปิด = \[\033[0m\] ชัดเจน
สำหรับตารางรหัสสีที่สามารถใช้ได้มีดังนี้
** TIP **
- เราสามารถ แก้ค่า 0; เป็น
- 1; สำหรับตัวหนา
- 4; ขีดเส้นใต้
- 5; ตัวอักษรกระพริบ
- 7; reverse เอาสีตัวอักษรมาเป็นสีพื้นหลัง
- เราสามารถกำหนดรูปแบบได้หลากหลายโดยใช้ ; ขั้น เช่น \[\033[1;4;31;33m\] = ตัวอักษรหนาขีดเส้นใต้สีแดงบนพื้นหลังสีเหลือง
หลังจากปรับแต่งรูปแบบและสีกันจนหนำใจแล้วก็อย่าลืม เอาไปเก็บไว้ในไฟล์ .bash_profile กันด้วยนะครับ
หลังจากนั่งมั่วเอาจนเหนื่อย command prompt ของผมก็ออกมาลิเกอย่างที่เห็นนี้แหละครับ อิอิ
สวัสดีครับ