ฉันจะใช้เครื่องหมายลูกศรใน bash prompt ของฉันได้อย่างไร


17

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

ป้อนคำอธิบายรูปภาพที่นี่

อัปเดต 1

นี่คือ.bashrcไฟล์ของฉัน

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\ 
[\033[01;34m\]→  \w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}→  \w\$ '
fi
unset color_prompt force_color_prompt

ฉันต้องการให้ลูกศรนี้มีสีเหมือนคำตอบ @dessert ก่อน (เปลี่ยนเป็นสีแดงและสีเขียวสำหรับคำสั่งที่ผิดและเป็นจริง)

คำตอบ:


25

คุณสามารถใช้bash's PROMPT_COMMANDเพื่อเรียกใช้ฟังก์ชั่นที่สร้างคุณพรอมต์เช่น:

PROMPT_COMMAND=build_prompt

build_prompt() {
  EXIT=$?               # save exit code of last command
  red='\[\e[0;31m\]'    # colors
  green='\[\e[0;32m\]'
  cyan='\[\e[1;36m\]'
  reset='\[\e[0m\]'
  PS1='${debian_chroot:+($debian_chroot)}'  # begin prompt

  if [ $EXIT != 0 ]; then  # add arrow color dependent on exit code
    PS1+="$red"
  else
    PS1+="$green"
  fi

  PS1+="→$reset  $cyan\w$reset \\$ " # construct rest of prompt
}

เพิ่มรหัสนี้ลงใน~/.bashrcไฟล์ของคุณและเปิดเทอร์มินัลใหม่หรือเรียกใช้. ~/.bashrcในรหัสที่มีอยู่เพื่อให้การเปลี่ยนแปลงมีผล โปรดทราบว่าฉันได้เพิ่มแบบปกติ\$ในตอนท้ายนี่$จะพิมพ์ตามปกติและ#หากคุณรูทดังนั้นคุณจึงไม่สามารถเรียกใช้คำสั่งในฐานะรูทได้โดยไม่รู้ตัว falseคำสั่งเป็นวิธีที่ดีในการทดสอบรหัสที่แตกต่างไม่ใช่ศูนย์ทางออก:

ผลลัพธ์

หากคุณเป็น themeing พรอมต์ให้คุณแน่นอนควรจะดูที่เป็นzshเปลือก (แพคเกจzsh) ซึ่งกรอบการกำหนดค่าที่มีชื่อเสียงOh My zshคนเดียวมาพร้อมกับกว่าร้อยรูปแบบ นอกจากนี้ยังมีปลั๊กอินอื่น ๆ อีกมากมายที่มีอยู่เช่นพรอมต์Spaceship ZSH

การเชื่อมโยง


1
ในขณะที่นี่เป็นวิธีการแก้ปัญหาธรรมดาทุบตีที่ดีคุณสามารถดู zsh (แทนการทุบตี) และโดยเฉพาะอย่างยิ่งยานอวกาศพรอมต์
Richard de Wit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.