특정 명령의 색상을 끄는 방법은 무엇입니까?

특정 명령의 색상을 끄는 방법은 무엇입니까?

특정 명령(예:)의 색상을 끌 수 있지만 ls명령 자체의 API를 사용하지 않는 것이 가능합니까? env 변수나 do와 같은 명령의 색상을 끄는 것이 있습니까 COLOR=off ls? 모든 솔루션을 높이 평가하겠습니다.

편집: 모든 명령에 작동하는 일반적인 솔루션을 원합니다. 좋다COLOR=off command_name

답변1

형식에 대한 일부 변경을 허용하려는 경우 직접 파이프할 수도 있습니다.cat

 ls | cat

색상은 없지만 각 항목에는 개행 문자가 있습니다.


편집하다:

쉘 설정을 통해 색상 끄기

쉘의 rc 파일을 확인하고 색상 설정이 어디에 있는지 확인한 다음 .<shell>rc_mono해당 설정을 제거한 새 파일을 생성하고 가져오면 완료됩니다. 예를 들어 bash의 경우:

$cat ~/.bashrc_mono
export TERM=xterm-mono
. ~/.bashrc
alias ls='ls --color=none'
alias grep='grep --color=none'

. ~/.bashrc해당 색상은 일반적으로 에서 설정되므로 의 새 별칭 앞에 가 있어야 합니다 . 그래서 당신이해야 할 일은lsgrep~/.bashrc

. ~/bashrc_mono ; ls 

따라서 "redo-color"-rc가 좋을 수 있습니다.

$cat ~/.bashrc_recolorize
export TERM=xterm-256color
. ~/.bashrc

예를 들어 사용 htop하면 차이점을 볼 수 있습니다.

답변2

한 가지 옵션은 TERM색상을 지원하지 않는 터미널 유형으로 변수를 설정하는 것입니다.

예:

TERM=dumb ls
TERM=dumb command_name
echo foo | TERM=dumb grep --color o

vi프로그램에 멍청한 터미널을 사용하라고 지시하면 실행하는 명령에 따라 커서 키가 더 이상 인식되지 않는 등 다른 (원치 않는) 효과가 나타날 수도 있습니다 .

제안대로펠릭스 JN당신도 시도해 볼 수 있지만 TERM=xterm-mono내 테스트 시스템(Windows의 Git bash)에서는 TERM=dumb.

관련 정보