저는 매우 간단한 명령을 실행하고 있습니다.
[tester@centos-lvm ~]$ time cal > /dev/null
real 0m0.001s
user 0m0.000s
sys 0m0.001s
time
그러나 실행 파일의 전체 경로를 지정하면 다른 결과가 나타납니다.
[tester@centos-lvm ~]$ /usr/bin/time cal > /dev/null
0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 928maxresident)k
0inputs+0outputs (0major+272minor)pagefaults 0swaps
time
나는 (경로 없이) 다음을 실행할 때 /usr/bin/time
이것이 실제로 실행된다고 믿습니다 .
[tester@centos-lvm ~]$ which time
/usr/bin/time
man time
두 가지 출력 형식이 있으며 이 -p
옵션은 그 중에서 선택함을 알려줍니다. 하지만 나는 어떤 옵션도 지정하지 않았습니다! 별칭을 확인했는데 시간에 대한 정보가 없습니다.
이 동작은 매우 예상치 못한 것이며 매우 이상합니다. 누군가 왜 이런 일이 일어나는지 설명할 수 있습니까?
답변1
경로 없이 사용 하는 경우 time
내장 쉘에서 제공하는 유틸리티를 사용할 수 있습니다(해당 쉘의 매뉴얼 참조). 경로를 지정할 때 확실히 외부 유틸리티를 사용하고 있습니다.
두 가지의 구현 및 생성되는 출력이 다를 수 있습니다.