Wie kann ich das Pfeilzeichen in meiner Bash-Eingabeaufforderung verwenden?

17

Wie kann ich diese roten und grünen Pfeilzeichen in der Bash-Eingabeaufforderung verwenden?

Bildbeschreibung hier eingeben

Update 1

Das ist meine .bashrcAkte

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

Ich möchte, dass dieser Pfeil als @dessert markiert wird, das zuvor beantwortet wurde (rot und grün für den falschen und den wahren Befehl).

Afshin
quelle

Antworten:

25

Mit bash's PROMPT_COMMANDkönnen Sie eine Funktion ausführen, die Ihre Eingabeaufforderung erstellt, z. B .:

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
}

Fügen Sie diesen Code zu Ihrer ~/.bashrcDatei hinzu und öffnen Sie ein neues Terminal oder führen Sie . ~/.bashrcein vorhandenes Terminal aus, damit die Änderungen wirksam werden. Beachten Sie, dass ich das Übliche \$am Ende hinzugefügt habe. Dies wird $normal ausgegeben und #wenn Sie als root angemeldet sind, wird verhindert, dass Sie Befehle ungewollt als root ausführen. Der falseBefehl ist ein guter Weg, um die Nicht-Null-Exit-Code-Variante zu testen:

Ergebnis

Wenn Sie sich für schnelles Themeing interessieren, sollten Sie sich auf jeden Fall die zshShell (Paket zsh) ansehen , deren berühmtes Konfigurations-Framework Oh My Zsh allein über hundert Themes enthält . Zusätzlich gibt es viele andere Plugins, zum Beispiel die promptSpaceship ZSH-Eingabeaufforderung .

Links

Dessert
quelle
1
Dies ist zwar eine großartige Lösung , aber Sie können sich zsh (als Ersatz für bash) und insbesondere die Raumschiff-Eingabeaufforderung
Richard de Wit,