5
체인, 정말 같은 명령의 사슬에 tee
를 사용하려면 :유닉스와 티 - 유닉스 환경에서 명령
$ echo 1; echo 2 | tee file
1
2
$ cat file
2
왜 file
는 마지막 명령의 출력을 가진 것으로 결국 무엇입니까?
이 토론의 목적을 위해 내가 분리하고 명령을 별도로 실행할 수 없다고 가정 해 봅시다.
체인, 정말 같은 명령의 사슬에 tee
를 사용하려면 :유닉스와 티 - 유닉스 환경에서 명령
$ echo 1; echo 2 | tee file
1
2
$ cat file
2
왜 file
는 마지막 명령의 출력을 가진 것으로 결국 무엇입니까?
이 토론의 목적을 위해 내가 분리하고 명령을 별도로 실행할 수 없다고 가정 해 봅시다.
시도 : 명시 적 부속 쉘을 만들뿐만 아니라
echo 1 ; (echo 2 | tee file)
두 번째 명령의 출력 만 있습니다. 세미콜론이 새 명령문을 쉘에 표시하기 때문입니다.
그냥 괄호에 넣어 :
(echo 1; echo 2) | tee file
: 괄호없이
, 그것은으로 해석 점점 , 당신은'{echo 1; 에코 2; } | tee file'을 사용하여 출력을 파일로 가져옵니다. '{'는 공백에 의해 명령과 분리되어야하고'} '는 명령이 나타날 수있는 곳에 나타나야합니다 (두 번째 세미콜론 다음에 표시되어야합니다). 다른 대안은 두 개의 분할 할 수없는 명령을 포함하는 새로운 스크립트를 작성하고 그 출력을'tee'에 파이핑하는 것입니다 :'conjoined-twin-processes | 티 파일 '. –