명령 실행의 시간 통계 출력이 1(stdout)도 아니고 2(stderr)도 아니기 때문에 어떤 파일 설명에 속하는지 묻고 싶습니다!
왜 그럴까요?
#
#
#
# time date 1>/tmp/date_1.out 2>&1
real 0m0.00s
user 0m0.00s
sys 0m0.00s
#
#
#
# cat /tmp/date_1.out
Mon Dec 10 11:20:36 BEIST 2017
#
#
#
답변1
stdout이나 stderr에 속하지 않습니다 date
. 그것은 stderr 에 속합니다 time
. 관찰하다:
$ ( time date 1>/tmp/date_1.out 2>&1 ) 2>time.out
$ cat time.out
real 0m0.002s
user 0m0.000s
sys 0m0.000s
time
실행 출력은 date 1>/tmp/date_1.out 2>&1
의 time
출력에 적용된 리디렉션의 영향을 받지 않습니다 date
. 이는 time
일반적인 명령이 아니기 때문에 가능합니다 . time
즉, 쉘 키워드입니다.
$ type time
time is a shell keyword
따라서 다양한 규칙에 따라 플레이할 수 있습니다.