Bagaimana saya bisa menggunakan tanda panah di bash prompt saya?

17

Bagaimana saya bisa menggunakan tanda panah merah dan hijau ini di bash prompt?

masukkan deskripsi gambar di sini

perbarui 1

Ini .bashrcfile saya

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

Saya ingin panah ini diwarnai ketika @djawab menjawab sebelumnya (berubah menjadi merah dan hijau untuk perintah salah dan benar)

Afshin
sumber

Jawaban:

25

Anda dapat menggunakan bash's PROMPT_COMMANDuntuk menjalankan fungsi yang membangun prompt Anda, misalnya:

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
}

Tambahkan kode ini ke ~/.bashrcfile Anda dan buka terminal baru atau jalankan . ~/.bashrcdi yang sudah ada agar perubahan diterapkan. Perhatikan bahwa saya menambahkan yang biasa \$di akhir, ini dicetak secara $normal dan #jika Anda root, sehingga mencegah Anda menjalankan perintah sebagai root tanpa disadari. The falseperintah adalah cara yang baik untuk menguji kode non-zero exit varian:

hasil

Jika Anda menyukai tema yang cepat, Anda harus melihat pada zshshell (paket zsh), yang kerangka konfigurasi terkenalnya Oh My Zsh sendiri hadir dengan lebih dari seratus tema . Selain itu ada banyak plugin lain yang tersedia, misalnya prompt Spaceship ZSH .

Tautan

pencuci mulut
sumber
1
Meskipun ini adalah solusi bash biasa yang bagus , Anda bisa melihat zsh (sebagai pengganti bash) dan terutama bisikan Spaceship
Richard de Wit