2010-05-17 3 views
5

체인, 정말 같은 명령의 사슬에 tee를 사용하려면 :유닉스와 티 - 유닉스 환경에서 명령

$ echo 1; echo 2 | tee file 
1 
2 

$ cat file 
2 

file는 마지막 명령의 출력을 가진 것으로 결국 무엇입니까?

이 토론의 목적을 위해 내가 분리하고 명령을 별도로 실행할 수 없다고 가정 해 봅시다.

+0

: 괄호없이

(echo 1; echo 2) | tee file 

, 그것은으로 해석 점점 , 당신은'{echo 1; 에코 2; } | tee file'을 사용하여 출력을 파일로 가져옵니다. '{'는 공백에 의해 명령과 분리되어야하고'} '는 명령이 나타날 수있는 곳에 나타나야합니다 (두 번째 세미콜론 다음에 표시되어야합니다). 다른 대안은 두 개의 분할 할 수없는 명령을 포함하는 새로운 스크립트를 작성하고 그 출력을'tee'에 파이핑하는 것입니다 :'conjoined-twin-processes | 티 파일 '. –

답변

4

시도 : 명시 적 부속 쉘을 만들뿐만 아니라

echo 1 ; (echo 2 | tee file) 
5

두 번째 명령의 출력 만 있습니다. 세미콜론이 새 명령문을 쉘에 표시하기 때문입니다.

그냥 괄호에 넣어 :

(echo 1; echo 2) | tee file