
我正在使用 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 的 rcfiles 而不是您的。
答案2
似乎 sudo 配置為使用原始用戶的環境變量,而不是新的環境變量。
您可以使用以下命令將env_reset and env_keep options in /etc/sudoers
環境變數明確重設為目標使用者的環境變數-H
:
sudo -H -u root