我在用户的 .bashrc 文件中定义了一个函数,它在我的命令提示符下显示我当前的 git 分支名称:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
PS1="\\[$(tput setaf 7)\\]\\w \$(parse_git_branch)> \\[$(tput sgr0)\\]"
Run Code Online (Sandbox Code Playgroud)
当我 sudo 到 su 时,看起来我的 PS1 被结转了,并且在每个命令之后我都会收到错误bash: parse_git_branch: command not found
。
我可以更改什么,以便当我对另一个用户 sudo 时,使用其 PS1 而不是我用户的 PS1?
编辑:这似乎只发生在我使用源 Python virtualenv 之后。如果我在获取 virtualenv 之前 sudo su ,则不会发生此错误。