[unix] “grep 키워드”가 터미널을 영원히 대기시키는 이유는 무엇입니까?

내가 터미널에서 “그렙 문서”를 입력하면, 그냥 내가 사용 탈출하기 전에 다른 아무것도에서 터미널을 중지, 아무것도하지 Ctrl+ C또는 Z.

나는 이것이 grep을 사용해야하는 방법이 아니라 왜 이것이 일어나는지 궁금합니다.



답변

grep 파일이 제공되지 않으면 기본적으로 표준 입력을 검색합니다.

grep은 지정된 PATTERN과 일치하는 행이 있는지 명명 된 입력 FILE (또는 파일이 명명되지 않은 경우 또는 단일 하이픈-마이너스 (-)가 파일 이름으로 제공되는 경우)을 검색합니다. 기본적으로 grep은 일치하는 줄을 인쇄합니다.

당신은 그냥 할 경우 grep doc와서는 내부 검색 그렙이 기대를 표준 입력 (사이 부분을 입력하지 <>터미널로, 이러한 의견입니다) :

$ grep doc
a b c <PRESS ENTER HERE>
doc <NO MATCH WAS FOUND IN PREVIOUS LINE, TYPE doc AND PRESS ENTER AGAIN>
doc <MATCH WAS FOUND>


답변

grep 입력 대기 중입니다.

보낸 사람 man grep:

[...]
DESCRIPTION
       grep  searches  the named input FILEs (or standard input if no files are named
[...]


답변