我如何进入 root 权限并让它改变我的提示?

我如何进入 root 权限并让它改变我的提示?

我正在使用 ubuntu-10.04 和 bash。我想进入 root 模式,并让其将我的提示符更改为带下划线的红色字符,以反映我处于 root 模式。在 bash 提示符下,如果我输入:

$ sudo bash

然后我进入 root 模式,但是我的提示符没有改变。在/root/.bashrc我的输入中:

RED="\[\033[0;31m\]"
UNDERLINE="\[\033[4m\]"
DEFAULT="\[\033[0m\]"
export PS1=$RED$UNDERLINE'\u@\h:\w\$'$DEFAULT' '

但是这个文件没有被读取。为了读取它,我必须在提示符下输入:

# . /root/.bashrc

我不想这样做。我该如何设置,以便当我进入 root 权限时,它会/root/.bashrc自动运行?

答案1

  • 首先,这sudo root是否是一个有效的命令?(sudo -s或者sudo -i是。)

  • 我更喜欢编辑我的自己的 .bashrc而不是 root 的。例如,你可以

    if (( $UID == 0 )); then
        PS1="$RED$UNDERLINE"
    else
        PS1="$GREEN"
    fi
    PS1="$PS1\u@\h:\w\$$DEFAULT "
    
  • 您可以使用它sudo -i来读取 root 的 rcfile,而不是您的 rcfile。

答案2

似乎 sudo 配置为使用原始用户的环境变量而不是新的环境变量。

你可以设置环境变量env_reset and env_keep options in /etc/sudoers或者明确地将环境变量重置为目标用户的环境变量-Hsudo -H -u root

相关内容