Как проверить, установлен ли GIT из .bashrc

Я использую 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
10
задан Sathish Manohar 4 September 2011 в 17:00
поделиться