덜 파이핑 후 배쉬의 색상은?


106

내가 dircolors를 정의하면 삶은 ... 색으로 가득 차 있습니다.

I 파이프 때 ls를 통해이 less약 스크롤 나는 색상을 잃게됩니다.

어떤 제안?

답변:


105

아마도 귀하의 ls가 별명 이며 출력이 tty 일 때 색상 만 사용하도록 ls --color=auto지시 ls합니다. 그렇게하면 ls --color(도덕적으로 동일 ls --color=always) 색상을 켤 수 있습니다.

별명을 변경하여 변경할 수도 있지만 실제로는 그렇게 생각하지 않습니다. 로 다른 별칭을 만드는 것이 --color좋습니다.

less필요합니다 -R.


5
왜 그것은에 별명에 좋은 생각 LS를 호출 할 것 ls --color또는 ls --color=always그 문제에 대해?
j08lue

10
@ j08lue 색상을 처리하지 않는 명령을 통해 파이프하면 명령이 엉망이 될 수있는 일부 정크 문자가 나타납니다. 예를 들어, 나는 다음 ls --color=always | lessESC[01;32mexecute_once.shESC[0m같은 것들을 얻었습니다. (이것은 오래되었고 당신은 신경 쓰지 않을 것이지만, 미래의 방문객들에게는 유용 할 것입니다)
Ryan Amos

55

다음과 같이 -R 옵션을 사용하여 덜 시도하십시오.

command | less -R

이것은 다음과 같은 단일 라이너에서 작동합니다.

ls -la | grep --color=always bash | less -r

그리고 이것처럼 :

ls --color | less -R

그러나 --color 매개 변수를 사용하여 기본 출력 (이 경우 ls의 출력)을 약간 조정해야합니다.


고마워, 이것은 또한 ack-grep에서도 작동합니다. ack-grep my_string --color | less -R
igniteflow

1
-색상이 인식되지 않습니다 : ls : 잘못된 옵션--osx에서 bash 실행.
Scott Biggs

1
@Scott Biggs : OSX에는 --color가 없습니다. 시도 ls -G

@ Lu-Chi, -G
와도

1
-R옵션의 약자입니다 --RAW-CONTROL-CHARS.
Rory O'Kane
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.