Я пытаюсь изменить свою команду promt в терминале. Я продолжаю получать ошибку:
-bash: __git_ps1: command not found
Я попробовал это, просто введя его в терминал, как есть: __git_ps1
. Я также пробовал это в .bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Как вы могли бы видеть/рассказывать, да, у меня есть автоматическое завершение, и он отлично работает!
Я столкнулся с этим вопросом: "переменная env PS1 не работает на Mac", которая дает код
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Поэтому я добавляю его в мой .bash_profile
, надеясь, что он что-то изменит. Ну, да. Он просто изменил вывод ошибки.
Здесь .bash_profile
с добавлением:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
И теперь здесь изменился вывод ошибки:
sed: (%s): No such file or directory
Примечание: Я также переместил псевдоним ниже источника без каких-либо различий. У меня есть git версия 1.7.12.1
Это должно быть простое изменение. Может кто-нибудь, пожалуйста, помогите мне?
Редактировать 10/13/12
Нет, я определенно не хочу сам определять __git_ps1, но просто пытался понять, будет ли это признано. Да, у меня установлен файл .git-completion.bash
. Здесь, как я получил автоматическое завершение на моей машине.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
A ls -la
затем перечисляет файл .git-completion.bash
.
Редактировать 10/13/12 - Решено Марк Лонгэйр (ниже)
Следующий код работал у меня в .bash_profile
, в то время как другие не...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi