컬러 bash는 루트 사용자로 실행할 수 없습니다

컬러 bash는 루트 사용자로 실행할 수 없습니다

서버에 ssh를 연결한 다음 루트에 su를 실행하면 bash에서 색상을 얻을 수 없다는 것을 알았습니다. 이 특별한 경우에 "bash에서 색상을 가져오지 마세요"라고 말하는 것은 vim을 사용하여 파일을 편집하는 것을 의미합니다. 이제 로그인 후 sudo를 하면 색상이 나오므로 문제 없습니다. 루트 및 소스 /root/.bash_profile에 su하면 루트 색상이 표시됩니다. 하지만 루트로 로그인할 때마다 .bash_profile 파일을 가져와야 하고 싶지는 않습니다. 내 /root/.bashrc 및 /root/.bash_profile 파일의 내용은 다음과 같습니다. 스와 할 때 색깔이 나오려면 어떻게 해야 하나요?

# .bashrc

# User specific aliases and functions

# You may uncomment the following lines if you want `ls' to be     colorized:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'


# Source global definitions
if [ -f /etc/bashrc ]; then
     . /etc/bashrc
fi

===============================================

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
alias vi='/usr/bin/vim'
alias grep='/bin/grep --color'
export EDITOR=/usr/bin/vim

# HISTSIZE = number of lines in memory while session is ongoing
# HISTFILESIZE = maximum number of lines in the history file on   disk
export HISTSIZE=3000
export HISTFILESIZE=5000
export HISTFILE=/root/history/.bash_hist-$(who -m | awk '{print   $1}')

답변1

Get Login Shell을 사용 su -하거나 별칭을 다음을 참조 ~/.bashrc하십시오.슈퍼유저에 대한 답변

답변2

$TERM나를 위한 해결책은 다음을 실행하여 변수를 확인하는 것이었습니다.

printf "$TERM\n"

알겠어요

xterm

저는 Windows에서 Putty를 사용하고 있으므로 Putty에서 다음과 같이 편집했습니다. 연결 > 데이터 > 터미널 세부 정보 > 터미널 유형 문자열: xterm-256color

여기에 이미지 설명을 입력하세요.

(반품제발확실하게 하다구하다이 설정)

마지막으로 다음과 같이 /root/.bashrc를 편집해야 합니다.

sudo vi /root/.bashrc

아래 38~41행:

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

다음과 같습니다(38-41행에서도 마찬가지).

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|xterm-256color) color_prompt=yes;;
esac

또는 46행의 주석 처리를 해제할 수 있습니다.

#force_color_prompt=yes

#을 제거하여 위의 작업을 선택합니다.

답변3

su -m

pi에 대한 터미널 su'ing에서 나를 위해 일했습니다.

관련 정보