Я использую GIT, я изменил следующую строку в .bashrc
.bashrc , чтобы показать текущую филиал CheckedOut в подсказке, когда PWD
Git Reppo. Операционная система Я использую: Ubuntu 32bit
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Я использую эту строку для отображения текущего ветви GIT REPO в командном приглашении, а не вышеуказанной линии.
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
Проблема в том, что я даю его друзьям, Shell дает ошибку __ git_ps1: команда не найден
, при приеме навигации между каталогами, как скрипт проверки для Git Flatevens на изменяющихся каталогах.
Как проверить, установлен ли Git и выполнить филиал, проверка только в том случае, если git установлен?
Редактировать: Как предложено Ayckoster, я приехал со следующими строками кода:
if [ "$color_prompt" = yes ]; then
git --version
GIT_IS_AVAILABLE=$?
if [ $GIT_IS_AVAILABLE -eq 0 ]; then
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
else
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
fi
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
Теперь, каждый раз, когда я открываю терминал, я получаю git --version
, выводимый на экран, в то время как git установлен, и я получаю После ошибки при открытии терминала при git не установлен:
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
Как я могу это очистить? Спасибо.
Окончательное редактирование:
Это код, который я наконец-то придумал, не стесняйтесь использовать этот код в вашем .Bashrc
, чтобы отобразить текущий GIT Fiver
в приглашении
if [ "$color_prompt" = yes ]; then
if git --version &>/dev/null; then
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
else
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
fi
else
if git --version &>/dev/null; then
# PS1 Line to show current Git Branch in the Prompt
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w $(__git_ps1 "(%s)")\$ '
else
# Original PS1 Line
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
fi