Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

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

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

1. แสดง “Kaomoji” เมื่อดำเนินการสำเร็จ

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

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

ในทางตรงกันข้าม เมื่อคำสั่งล้มเหลว คุณจะเห็นคาโอโมจิที่น่าเศร้า

หากต้องการใช้สิ่งนี้ ให้ใช้รหัสต่อไปนี้:

PS1="\`if [ \$? =0]; แล้ว echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O \[\e[0m\]; fi\`[\u@\h:\w]\\$ "

อาจดูสับสน แต่เรากำลังใช้คำสั่ง if เพื่อกำหนดว่าคำสั่งนั้นดีหรือไม่ดี จากที่นั่น เราใช้การหลบหนีรอบๆ kaomoji เพื่อให้แน่ใจว่าพวกมันแสดงทางที่ถูกต้อง

2.เปลี่ยนสีของ Bash Prompt เมื่อเทอร์มินัลออกคำสั่งที่ไม่ถูกต้อง

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

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

PROMPT_COMMAND='PS1="\[\033[0;33m\][\!]\`if [[ \$? ="0" ]]; แล้ว echo "\\[\\033[32m\ \]"; else echo "\\[\\033[31m\\]"; fi\`[\u.\h:\`if [[ `pwd|wc -c|tr -d " "`> 18 ]]; แล้ว echo "\\W"; else echo "\\w"; fi\`]\$\[\033[0m\] "; echo -ne "\033]0;`ชื่อโฮสต์ -s`:`pwd`\007"'

อีกครั้ง การดำเนินการนี้อาจดูยุ่งยาก แต่ก็ตรงไปตรงมา เราใช้คำสั่ง if อีกครั้ง พร้อมกับรหัสสีเพื่อเน้นข้อความต่างๆ

คุณสามารถทำสีเหล่านี้อะไรก็ได้ที่คุณต้องการ แม้ว่าเราจะใช้ความคิดเชิงตรรกะว่าสีที่เปลี่ยนไปนั้นจะช่วยคุณได้มากกว่าที่จะเปลี่ยนเพียงเพราะเห็นแก่การเปลี่ยนแปลง

3. ขยาย Bash ของคุณไปหลายบรรทัด

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

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

PS1="\n\[\033[35m\]\$(/bin/date)\n\[\ 033[32m\]\w\n\[\033[1;31m\]\u@\h:\[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'):\[\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's:::g') files \[\033[1;33m\]\$(/bin/ls - lah | /bin/grep -m 1 ทั้งหมด | /bin/sed 's/total //')b\[\033[0m\] -> \[\033[0m\]"

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

4. ใช้สีเพื่อทำให้ Bash Prompt ของคุณอ่านง่ายขึ้น

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

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

PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\] @\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "

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

5. แสดงเส้นทางไดเรกทอรีแบบเต็ม

เหมือนกับการใช้สี พรอมต์นี้เป็นพรอมต์สองบรรทัดที่เรียบง่ายและสะอาดตา (แม้ว่าจะมีบรรทัดว่างอยู่ด้านบน)

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

เราแสดงเส้นทางไดเรกทอรีการทำงานแบบเต็มในบรรทัดแรก ตามด้วยผู้ใช้ที่ด้านล่าง

PS1="[\[\033[32m\]\w]\[\033[0m\]\n\[\033[1;36m\]\u\[\ 033[1;33m\]-> \[\033[0m\]"

หากคุณไม่ต้องการใช้บรรทัดว่างภายในข้อความแจ้ง คุณสามารถนำ \n ตัวแรกออกได้ . อย่างไรก็ตาม ลองใช้เค้าโครงและการจัดรูปแบบ เนื่องจากประสบการณ์ใช้งาน Terminal แต่ละรายการจะแตกต่างกันไปตามการตั้งค่าคอมพิวเตอร์และบรรทัดคำสั่ง

6. แสดงจำนวนงานในเบื้องหลัง

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

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

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

PS1='\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\] \n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]งาน:\j \$\[\e[m\] '

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

7. แสดงข้อมูลสำหรับไดเร็กทอรีการทำงาน

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

ด้วยสิ่งนี้ เราจะแสดงชื่อผู้ใช้และโฮสต์ จำนวนงาน และวันที่และเวลาบนบรรทัดบนสุด ด้านล่างเป็นไดเร็กทอรีปัจจุบัน พร้อมด้วยจำนวนไฟล์ในไดเร็กทอรีและข้อมูลบางส่วนเกี่ยวกับการใช้ดิสก์

PS1="\n\[\e[30;1m\]\[\016\]l\[\017\](\[\e[34;1m\]\ u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m \]\@ \d\[\e[30;1m\])->\[\e[30;1m\]\n\[\016\]m\[\017\ ]-(\[\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$( /bin/ls -1 | /usr/bin/wc -l | /bin/sed 's:::g') files, \$(/bin/ls -lah | /bin/ grep -m 1 ทั้งหมด | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"

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

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

8. สร้าง Bash Prompt ของคุณเอง

8 Bash Prompt ที่มีประโยชน์และน่าสนใจ

คุณสามารถรวมรายการใด ๆ และทั้งหมดข้างต้นเพื่อสร้างพรอมต์ Bash ที่กำหนดเองได้ ตัวอย่างเช่น นี่คือการแก้ไขหมายเลข 7 ในรายการนี้ แต่เปลี่ยนไปใช้พื้นที่น้อยลงและมีข้อมูลเฉพาะและเกี่ยวข้องด้วย

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

PS1="\n\[\e[32;1m\](\[\e[37;1m\]\u\[\e[32;1m\])- (\[\e[37;1m\]งาน:\j\[\e[32;1m\])-(\[\e[37;1m\]\w\[\e[32;1m\] )\n(\[\[\e[37;1m\]! \!\[\e[32;1m\])-> \[\e[0m\]" 

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

คำถามที่พบบ่อย

1. เหตุใดฉันจึงต้องการใช้ Bash prompt ที่แตกต่างกัน

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

ในหลายกรณี การใช้ Bash prompt แบบกำหนดเองจะมีประสิทธิภาพมากกว่าการเปิดหน้าต่างหลายบาน

2. ฉันจะเพิ่มข้อความแจ้ง Bash เหล่านี้ไปยังเอาต์พุตเทอร์มินัลของฉันได้อย่างไร

หากต้องการใช้ข้อความแจ้งเหล่านี้ คุณสามารถคัดลอกและวางโค้ดลงในแอป Terminal ได้ อย่างไรก็ตาม การดำเนินการนี้จะมีผลกับเซสชันปัจจุบันเท่านั้น ดังนั้นในทางทฤษฎี คุณจะต้องทำเช่นนี้ทุกครั้งที่เปิด Terminal

หากคุณต้องการทำการเปลี่ยนแปลงอย่างถาวร คุณสามารถวางข้อมูลโค้ดไว้ที่ส่วนท้ายของไฟล์ ~/.bashrc แล้วรีสตาร์ท Terminal

3. Bash prompt เหล่านี้จะทำงานโดยใช้เชลล์อื่นด้วยหรือไม่

ในหลายกรณี คุณจะพบว่ามีความเข้ากันได้กับกระสุนประเภทอื่น อย่างไรก็ตาม ไม่มีการรับประกันว่าการเปลี่ยนแปลงจะมีความเท่าเทียมกัน 100 เปอร์เซ็นต์

หากคุณดูที่โพสต์ของเราเกี่ยวกับการปรับแต่ง Mac Terminal สิ่งนี้ใช้ zsh คุณจะสังเกตได้ว่ามีความแตกต่างเล็กน้อยแต่มีความคล้ายคลึงกันมาก

4. ฉันจะทราบได้อย่างไรว่าข้อมูลและองค์ประกอบใดบ้างที่ฉันสามารถเพิ่มไปยัง Bash prompt ได้

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

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

5. จะเกิดอะไรขึ้นหากฉันไม่ต้องการใช้ Bash prompt แบบกำหนดเองใน Terminal ของฉันอีกต่อไป

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

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