:명명 된 파이프에 쓰는 동안 bash가 닫히는 이유는 무엇입니까? bash는 1에서
$ mkfifo /tmp/pipe
$ echo 'something' > /tmp/pipe
은 이제 중단하고 데이터를 읽을 수 있음을 기다립니다. bash는 2 년
:
$ </tmp/pipe
지금 쉘 (1) 내 단말기가 없어,이 닫혀 멀리 간다.
왜 이런 일이 발생합니까?
은 bash는 설명서에서
그래서 나는 실험을했다.명령 대체 $ (고양이 파일)
해당하지만 빠른 $ (< 파일)로 대체 될 수있다이 기록됩니다. 일반 "< 파일은"터미널에 고양이 파일 내용 유사한 방식으로 작동하는 경우
$ bash --version | head -1
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
$ cat /proc/version
Linux version 3.16.0-71-generic ([email protected]) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)) #92~14.04.1-Ubuntu SMP Thu May 12 23:31:46 UTC 2016
편집
초기의 의견과 답변을 본 후 나는 설명의 비트를 추가합니다.
다른 명령 줄 구문에 대해 걱정하지 않습니다.
그러나 실제로 내가 쓴 것은 독자 쉘에서 $ < /tmp/pipe
시나리오 작성기 셸이 종료되었지만 리더 셸에서는 $ cat /tmp/pipe
인 경우 작성기 셸이 종료되지 않았습니다. 왜?
본인은 문제의 문구와 본문에서 실제로 그런 문구를 사용하지 않았으며 아마도 다른 질문을 시작해야 할 것입니다. the pipe(7)
manual page 가입일
'$ (은'cat file'을 보편적으로 대체하지 않습니다. –
chepner