![grep --color의 기본값은 =auto 또는 =always입니까?](https://linux55.com/image/141666/grep%20--color%EC%9D%98%20%EA%B8%B0%EB%B3%B8%EA%B0%92%EC%9D%80%20%3Dauto%20%EB%98%90%EB%8A%94%20%3Dalways%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
grep --color
[가 없는 기본 색상 동작은 무엇입니까?=언제] 지정되었습니까?
grep매뉴얼 페이지상태:
--color
[=언제],--colour
[=언제]일치하는(비어 있지 않은) 문자열, 일치 라인, 컨텍스트 라인, 파일 이름, 라인 번호, 바이트 오프셋 및 구분 기호(필드 및 컨텍스트 라인 그룹의 경우)를 이스케이프 시퀀스로 묶어 터미널에 색상으로 표시로 인쇄합니다. ... 언제예
never
,always
, 또는auto
.
기본 여부 [=언제] grep --color
이 되다:
grep --color=auto
또는
grep --color=always
아니면 구현과 플랫폼에 따라 달라지나요?
GNU grep 2.16을 사용하여 Ubuntu 14.04에서 테스트한 결과:
echo "foo bar" | \grep --color foo
밝혀지다foo
bar
, 하지만
echo "foo bar" | \grep --color foo | \grep --color bar
밝혀지다foo
bar
, 여기서는 이것이 작동하는 것 같습니다 grep --color=auto
. 그러나 이 동작이 일반적인 것인지는 Windows나 Mac에서 테스트하지 않았습니다.
이 기본 설정은 [=언제ls --color
]는 매뉴얼 페이지의 상태와 약간 다릅니다 ls
.
--color
[=언제]출력을 색상화합니다. 언제기본값은
always
아니면 될 수 있다never
또는auto
.
여기서 실종자의 행동은 다음과 같다.언제분명합니다.
답변1
기본값은 auto
.
grep --color
글쓰기도 마찬가지다 --color=auto
.
이것은 잘 문서화되지 않은 것 같거나 단순히 --color
더 이상 사용되지 않는다고 생각하지만 이는 테스트 및소스 코드:
case COLOR_OPTION:
if (optarg)
{
if (!strcasecmp (optarg, "always") || !strcasecmp (optarg, "yes")
|| !strcasecmp (optarg, "force"))
color_option = 1;
else if (!strcasecmp (optarg, "never") || !strcasecmp (optarg, "no")
|| !strcasecmp (optarg, "none"))
color_option = 0;
else if (!strcasecmp (optarg, "auto") || !strcasecmp (optarg, "tty")
|| !strcasecmp (optarg, "if-tty"))
color_option = 2;
else
show_help = 1;
}
else
color_option = 2;
break;
an 이 없으면 or optarg
와 auto
동일한 결과를 얻습니다 tty
.