$PS1에서 색상을 끄는 방법은 무엇입니까?

$PS1에서 색상을 끄는 방법은 무엇입니까?

내 터미널의 출력에는 여러 색상이 포함되어 있으며 검정색 배경에만 모든 문자를 흰색으로 표시하고 싶습니다.

echo "$PS1"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 

choroba가 말했듯이 삭제하면 the \[\033..\] parts소용이 없습니다.

vim .bashrc
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$"

지금 소스:

source  .bashrc

조사하다 ls /tmp:

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

문자 색상을 흰색으로 유지하고 다른 설정은 변경하지 않고 그대로 둡니다.

답변1

\[\033..\]부품을 제거합니다 . ANSI 색상 코드입니다.

이니셜은 \[\e]0;...비슷하지만 터미널 제목을 설정합니다.

답변2

PS1완전히 별개이고 관련이 없는 두 가지 사항, 즉 bash의 프롬프트 문자열( )과 선택적 색상 사용을 혼동하고 있습니다 ls.

  1. 나는 또한 색상 코드가 없는 매우 간단한 프롬프트를 좋아합니다(그리고 chroot에 대해 특별한 처리를 수행할 필요가 없습니다). 그래서 다음과 같이 했습니다.

     PS1='\u@\h:\w\$ '
    

    현재 셸이나 설정되어 있는 다른 곳에서 ~/.bashrc~/.bash_profile설정을 변경해야 합니다 ~/.profile.

  2. 의 출력에서 ​​색상을 제거하려면 색상에 옵션을 추가하는 별칭을 ls제거하거나 로 변경 하고 변수 처럼 보이 거나 설정하는 명령문을 주석 처리하거나 제거합니다 .ls--colors=--colors=nevereval dircolorsLS_COLORS

    다시 말하지만, 이 작업은 현재 셸과 셸 시작 스크립트 내에서 수행되어야 합니다.

    ~/.bash_aliases일반적으로 위의 시작 스크립트와 함께 또는 대신 별칭을 정의하는 데 사용됩니다.

  3. 아니면,변화사용된 색상 ls(검은색 바탕에 진한 파란색은 읽을 수 없는 쓰레기입니다. 끔찍한 기본값입니다), 변수를 변경합니다 LS_COLORS. 예를 들어 내 답변을 참조하십시오.777 권한이 있는 디렉터리의 LS 색상을 수정하시겠습니까?

답변3

ls 명령에서 색상 설정을 제거합니다.

vim .bashrc
alias  ls="ls --color=never"

관련 정보