- bash: git ps1: команда не найдена
Я попытался установить Ruby 2.0. Моя командная строка urped и теперь выглядит следующим образом:
-bash: __git_ps1: command not found
[11:58:28][whatever@whatever ~]$
Я не знаю, как избавиться от команды __в Git_PS1 на Ошибка. Я обыскал свой .bash_profile и мой .bashrc, чтобы увидеть, пытается ли он установить переменную или что-то еще, и ничего не видит. Единственное место, где я могу найти git_ps1, упоминается в~/.dotfiles/.bash_prompt. Я полностью заменяю содержимое этого файла, выхожу из системы и снова вхожу в систему, и он исправляет ничего.
Я видел этой, но я довольно новичок в командной строке, поэтому я просто запутался.
какие идеи?
3 ответов
BASH имеет целый ряд способов автоматической настройки вашего приглашения, чтобы дать вам хорошую информацию. Вы устанавливаете приглашение, задав PS1
переменные среды. Например, если я установил PS1="$ "
моя подсказка будет выглядеть так:
$
не слишком информативным. Все, что я могу сказать, это то, что командная строка подсказывает мне.
однако, если я установлю PS1=\u@\h: \w$
мой запрос теперь будет выглядеть так:
david@vegibank:/usr/bin$
это говорит мне, как я вошел в систему (the \u
), машина, на которой я нахожусь (\h
), и каталог, в котором я нахожусь (\w
). Если я использую git
, было бы неплохо, если ветка git, в которой я нахожусь, также является частью моей подсказки.
это именно то, что происходит с вашим .profile
ваш ваш .bash_login
или .bash_profile
сценарий. Или, что сделал какой-то системный администратор в /etc/profile
.
есть несколько вещей, которые вы можете сделать. Либо:
- скачать недостающие
__git_ps1
и убедитесь, что это в вашем$PATH
переменная среды (которая устанавливается комбинацией различных файлов инициализации, упомянутых выше) - изменить
PS1
переменная среды в любом файле инициализации выполняется (я считаю, что это, вероятно,.bash_profile
.
просто добавьте это в последнюю строку:
PS1="\u@\h:\w\n$ "
добавил \n
печатает приглашение знака доллара на строке ниже следующим образом:
david@vegibank:/usr/bin
$
мне нравится это делать, потому что приглашение может быть довольно длинным, и редактирование командной строки становится сложным, когда приглашение длиннее 30 до 50 символов. В противном случае это в значительной степени стандартное приглашение, которое использует большинство пользователей. Вы можете увидеть больше о настройке подсказок BASH в man pages. (Найдите слово Prompting на этой странице).
если вы находите это немного запутанным, радуйтесь, что вы не используете Kornshell. Я использую Kornshell и получаю ту же подсказку PS1=\u@\h:\w\n$
нет, я подскажу as:
export PS1='$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")'
выполнить следующее:
$ curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git
и добавьте это в верхнюю часть вашего ~/.bashrc
:
source ~/.bash_git
повторно войти в свою оболочку, и вы должны быть установлены.
поиск вашей системы для git-prompt.sh
нужно source
, что для __git_ps1
функция, котор нужно быть имеющимся. В Arch он в настоящее время находится по адресу /usr/share/git/completion/git-prompt.sh
. Добавить
source /path/to/git-prompt.sh
к какому-то подходящему сценарию оболочки. Если вы не знаете, где, добавьте его в свой ~/.bashrc
.
если у вас locate
установлен, вы можете использовать это, чтобы найти , но вы, возможно, должны работать updatedb
как root.