Як я можу використовувати знак стрілки в моєму запиті bash?


17

Як я можу використовувати ці знаки червоної та зеленої стрілки у запиті bash?

введіть тут опис зображення

оновлення 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у існуючому, щоб зміни набрали чинності. Зауважте, що я додав звичайне \$наприкінці, це друкується $нормально, і #якщо ви root, тим самим заважаючи невільно виконувати команди як root. falseКоманда є хорошим способом перевірити варіант коду ненульовий виходи:

результат

Якщо ви в оперативну themeing ви обов'язково повинні поглянути на zshоболонці (пакет zsh), чия відомої конфігурація рамка Oh My Zsh одна поставляється з більш ніж ста тема . Крім того, доступно багато інших плагінів, наприклад, підказка Spaceship ZSH .

Посилання


1
Хоча це чудове просто-баш-рішення , ви можете поглянути на zsh (як на заміну bash) і особливо на підказку
Річард де Віт,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.