명령 실행 시간 통계 출력

명령 실행 시간 통계 출력

명령 실행의 시간 통계 출력이 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>&1time출력에 적용된 리디렉션의 영향을 받지 않습니다 date. 이는 time일반적인 명령이 아니기 때문에 가능합니다 . time즉, 쉘 키워드입니다.

$ type time
time is a shell keyword

따라서 다양한 규칙에 따라 플레이할 수 있습니다.

관련 정보