
특정 명령(예:)의 색상을 끌 수 있지만 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
해당 색상은 일반적으로 에서 설정되므로 의 새 별칭 앞에 가 있어야 합니다 . 그래서 당신이해야 할 일은ls
grep
~/.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
.