출력을
모니터
와파일
에 모두 보낼 때 출력을 두 번 리다이렉트하는 대신tee
명령을 사용할 수 있습니다.
tee filename
파이프 명령과 함께 사용하면 유용하게 사용할 수 있습니다.
$ date | tee test
Tue 26 Apr 2022 03:58:37 AM UTC
$ cat test
Tue 26 Apr 2022 03:58:37 AM UTC
보시는 바와 같이 모니터에도 출력하고 파일에도 내용이 저장된 것을 확인할 수 있습니다.
기본적으로 아무 옵션 없이 tee
명령을 쓰면 데이터를 덮어씁니다.
-a
옵션을 쓰면 데이터가 이어서 저장됩니다.
$ date | tee test
Tue 26 Apr 2022 03:58:37 AM UTC
$ who | tee -a test
hyeob pts/0 2022-04-26 01:06 (172.16.0.85)
$ cat test
Tue 26 Apr 2022 03:58:37 AM UTC
hyeob pts/0 2022-04-26 01:06 (172.16.0.85)
스크립트를 작성할 때는 아래와 같이 활용할 수 있습니다.
$ cat test1
#!/bin/bash
testfile=$(mktemp testing.XXXXXX)
echo "this is first line" | tee $testfile
echo "this is second line" | tee -a $testfile
echo "this is third line" | tee -a $testfile
$ ./test1
this is first line
this is second line
this is third line
$ cat testing.6WMDeP
this is first line
this is second line
this is third line