서버에 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에서 나를 위해 일했습니다.