gpt4 book ai didi

Git 完成和 PS1 不工作 : "__git_ps1: command not found" on "sudo -s" or "sudo su" on Ubuntu 12. 04

转载 作者:IT王子 更新时间:2023-10-29 00:57:50 27 4
gpt4 key购买 nike

我安装了 git 和 git-flow completion,将这些行添加到 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\]\$ '

当我以 root 或 normal_user 身份登录时,git 完成工作。但是,如果我使用“sudo -s”或“sudo su”,则 git 完成功能无法正常工作,每次我按回车键时,我都会不断收到“__git_ps1: command not found”。我试图删除“source”命令并使用“apt-get install bash-completion”(bash-completion 已经安装)。因此,即使没有 2 来源,我也会得到完全相同的行为。

有人知道问题出在哪里以及如何解决吗?

最佳答案

当您执行 sudo su 时,它不会获取用户 .bashrc。 PS1 继承自您执行 sudo su 的用户,但新 shell 不知道在哪里可以找到 ___git_ps1

您需要通过执行 sudo su -l 来模拟登录

关于Git 完成和 PS1 不工作 : "__git_ps1: command not found" on "sudo -s" or "sudo su" on Ubuntu 12. 04,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11662735/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com