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)

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


1
Meskipun ini adalah solusi bash biasa yang bagus , Anda bisa melihat zsh (sebagai pengganti bash) dan terutama bisikan Spaceship
Richard de Wit
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.