Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

เชี่ยวชาญ Bash Profiles: ปรับแต่ง Shell เพื่อเพิ่มประสิทธิภาพการทำงาน

หากคุณโต้ตอบกับ Linux ผ่าน Bash shell บ่อยๆ คุณจะต้องการปรับแต่งมันนิดหน่อย – อาจเพิ่ม shortcut ของตัวเอง ตั้งค่าสภาพแวดล้อมให้ถูกใจ หรือแม้แค่เพิ่มการตกแต่งส่วนตัว

นี่คือสิ่งที่ Bash profile ทำ มันเก็บอยู่ใน home directory ของคุณ และสามารถแก้ไขได้เพื่อตั้งค่าให้เป็นไปตามที่คุณต้องการทุกครั้งที่ล็อกอิน

การแก้ไข Bash Profile ของคุณ

เพื่อแก้ไข bash profile ให้เปิดด้วย text editor nano โดยรัน:

nano ~/.bash_profile

หากต้องการ backup profile ปัจจุบัน ให้ copy ไฟล์โดยรัน:

cp .bash_profile .bash_profile.bak

หากไฟล์ ~/.bash_profile ไม่มีอยู่ ไฟล์ ~/.profile จะถูกอ่านแทน นี่ค่าเริ่มต้นใน Ubuntu Linux distribution

หากต้องการ copy เนื้อหาของ ~/.profile เริ่มต้นไปยัง ~/.bash_profile ใหม่เพื่อแก้ไข ให้ copy:

cp ~/.profile ~/.bash_profile

หมายเหตุ ~/ ใน Linux shell คือ shortcut ไปยัง home directory ของผู้ใช้ปัจจุบัน

ตัวอย่าง

นี่คือบางสิ่งที่คุณสามารถทำกับ Bash profile เพื่อเริ่มต้น

เปลี่ยน Shell Prompt

ปกติ shell prompt ของคุณจะคล้ายๆ นี้:

admin@wsxdn.com:~$

…ผสมผสานของชื่อผู้ใช้ hostname และ current working directory สามารถเปลี่ยนได้โดยแก้ไขไฟล์ .bash_profile และเพิ่มบรรทัดต่อไปนี้:

export PS1="?"

นี่จะเปลี่ยน prompt ให้เป็น locomotive emoji นี่เพียงอย่างเดียวน่าจะไม่ค่อยมีประโยชน์ แต่อื่นๆ สามารถเพิ่มได้

นี่จะเปลี่ยน prompt ให้เป็น current logged in user ตามด้วย locomotive:

export PS1="\u ?"

คุณสามารถเพิ่มข้อความ ตัวอักษร และค่าของตัวเองได้ สำหรับรายการ built-in variables ทั้งหมดที่ใช้ได้ (วันที่ username current directory ฯลฯ) ดูที่:

https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Controlling-the-Prompt

เปลี่ยนสีข้อความและพื้นหลัง!

ต่อยอดจากตัวอย่างข้างต้น เราสามารถเพิ่มสีได้ ตัวอย่างนี้จะทำให้ prompt text สีแดง พื้นหลังสีน้ำเงิน:

export PS1="\e[44;31m\u ? \e[0m "

…และนี้จะทำให้ train emoji กระพริบ:

export PS1="\e[44;31m\u \e[5m? \e[0m "

โปรดทราบว่า:

  • \e[ : เริ่มรูปแบบการจัดรูปแบบ
  • 44;31 : สีพื้นหลังและสีข้อความ ตามลำดับ
  • \e[5m ทำให้ train icon กระพริบ
  • \e[m : หยุดรูปแบบการจัดรูปแบบโดยรีเซ็ตทุก attribute

มีสีและตัวเลือกจัดรูปแบบเยอะมาก นี่ไม่ใช่รายการครบถ้วน แต่ให้ตัวอย่างที่มีประโยชน์:

Codeความหมายตัวอย่าง
1Bold (หนา)“\e[1mBolded”
2Dim (จาง)“\e[2mDimmed”
3Underline (ขีดเส้นใต้)“\e[4mUnderlined”
4Blink (กระพริบ)“\e[5mBlinking”
5Inverted Colour (สีกลับ)“\e[7mInverted”

สีที่ใช้ได้เป็นค่าตัวเลขที่จับคู่เป็น background/text combinations จะแตกต่างกันไปตามสภาพแวดล้อม – คำสั่งนี้จะแสดง combinations ที่มีอยู่ในระบบของคุณ:

for x in {0..8}; do for i in {30..37}; do for a in {40..47}; do echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "; done; echo; done; done; echo ""

เพิ่ม Shortcuts / Functions ของตัวเอง

หากคุณพบว่าตัวเองพิมพ์ชุดคำสั่งเดิมซ้ำๆ คุณสามารถกำหนด shortcut function ใน bash profile การเพิ่มโค้ดต่อไปนี้ในไฟล์ ~/.bash_profile จะกำหนด function ใหม่ที่ list directory แล้ว exclaim ว่ามันสวยแค่ไหน:

myShortcut(){ ls -la echo "Look at that nice directory!" }

เพื่อรัน ให้พิมพ์แค่:

myShortcut

ลงใน shell และเนื้อหาของ function นั้นจะถูก execute

นำการเปลี่ยนแปลงไปใช้

เพื่อนำการเปลี่ยนแปลงของ profile ไปใช้และเห็นผลทันทีโดยไม่ต้อง restart หรือปิดเทอร์มินัล ให้รัน:

source ~/.bash_profile

Zsh คืออย่างไร?

เราได้สำรวจ zsh shell ไปเมื่อเร็วๆ นี้

Zsh ก็มี profile file ที่ทำหน้าที่เหมือน bash profile อยู่ที่:

~/.zprofile

มันก็สามารถแก้ไขได้เหมือน Bash profile แต่ด้วยฟังก์ชันเฉพาะ Zsh ลองทำดูสิ!