Chr*_*lli 10 git bash bash-completion
我安装了git和git-flow完成,将这些行添加到root的.bashrc和Ubuntu 12.04机器上的normal_user:
source /etc/git-completion.bash
source /etc/git-flow-completion.bash
GIT_PS1_SHOWUPSTREAM="verbose"
GIT_PS1_SHOWDIRTYSTATE=true
PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
Run Code Online (Sandbox Code Playgroud)
当我以root身份登录或者normal_user时,git完成工作.但是,如果我使用"sudo -s"或"sudo su"git完成不起作用,每次按回车时我都会不断收到"__git_ps1:command not found".我试图删除"source"命令并使用"apt-get install bash-completion"(已经安装了bash-completion).因此,即使没有2源,我也会得到完全相同的行为.
有人知道问题是什么以及如何使其发挥作用?
Pet*_*oes 15
执行sudo su此操作时,将不会为用户提供信息.bashrc.PS1继承自您所做的用户sudo su,但新shell不知道它可以找到的位置___git_ps1
您需要通过执行来模拟登录 sudo su -l
小智 5
在你的情况下,它发生是因为git-prompt.sh文件没有在终端启动时启动,它可以find contrib/completion/git-prompt.sh在最初的git-core文件中.
可能已经由机器出现,用于搜索:
找到〜-name git-prompt.sh
可能需要花费很多时间,因此最好指定而不是/搜索更精确,可能您猜测可能找到的位置.什么时候会发现,在你的promt改变表达式之前添加.bashrc作为一个例子,因为它是由我做出的方式的指示:
if [-f $ HOME/git/1.8.0/contrib/completion/git-prompt.sh]; 然后
.$ HOME /混帐/ 1.8.0 /的contrib /完成/ git-prompt.sh
科幻
毕竟做了:
.在〜/ .bashrc
小智 5
提示功能于 2012 年 5 月 22 日从 git-completion.bash 中拆分为 git-prompt.sh;source你也需要那个。Git 1.7.12 是第一个看到此更改的版本。我在更新 git-completion.bash 时遇到了同样的问题。
| 归档时间: |
|
| 查看次数: |
21310 次 |
| 最近记录: |