루트로 들어가서 프롬프트를 바꾸려면 어떻게해야합니까?


3

우분투 -10.04와 bash를 사용하고 있습니다. 루트로 들어가서 루트에 있음을 반영하기 위해 밑줄이 그어진 빨간색 문자로 프롬프트를 변경하고 싶습니다. bash 프롬프트에서 다음을 입력하면 :

$ sudo bash

그런 다음 루트로 이동하지만 프롬프트가 변경되지 않습니다. 에서 /root/.bashrcI 있습니다 :

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

그러나이 파일을 읽지 못했습니다. 그것을 읽으려면 프롬프트에 입력해야합니다.

# . /root/.bashrc

나는하고 싶지 않다. 루트로 들어갈 때 /root/.bashrc자동으로 실행 되도록 어떻게 설정 합니까?

답변:


2
  • 먼저 sudo root유효한 명령입니까? ( sudo -s또는 sudo -i될 것입니다.)

  • 나는 루트 대신 내 자신을 편집하는 것을 선호합니다 .bashrc. 예를 들어

    if (( $UID == 0 )); then
        PS1="$RED$UNDERLINE"
    else
        PS1="$GREEN"
    fi
    PS1="$PS1\u@\h:\w\$$DEFAULT "
  • 당신이 사용할 수있는 sudo -i루트의 rcfiles 대신 당신의 읽을 수 있도록.


죄송합니다 sudo bash. 당신 말이 맞아, sudo root의미가 없다. 어쨌든 $ UID에 대한 if 문 제안은 효과가 있습니다.
Philip Hunt

@Philip : 답변이 도움 이된다면 허용 된 것으로 표시하십시오 .
grawity

1

sudo가 새 사용자가 아닌 원래 사용자의 환경 변수를 사용하도록 구성된 것처럼 보입니다.

다음을 사용하여 env_reset and env_keep options in /etc/sudoers환경 변수를 설정 하거나 명시 적으로 환경 변수를 대상 사용자의 환경 변수로 재설정하십시오 -H. sudo -H -u root

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.