이 time
명령으로 작업하면서 time
외부 GNU 시간 명령 대신 내장 기능을 사용해야하는 상황을 발견했습니다 /usr/bin/time
. 어떻게해야합니까? 어딘가에서 사용 enable
하거나 command
도움을 줄 수있는 것을 보았지만 도움이되지 않았습니다.
이것은 유스 케이스입니다.
watch "time ls"
/usr/bin/time
내가 원하지 않는 외부 명령 을 사용합니다 ! 때 발생 time
내가 실행할 때 내부 bash는 함수를 호출 time ls
과 같이 터미널에서 :
$ time ls
정반대의 요청에 대한 답변이 여기에 있습니다.
두 명령에는 많은 차이가 있습니다. 내부 time
는 더 정확하지만 (필요한) 외부 명령에는 더 많은 옵션이 있습니다 (필요하지 않음).
답변
기본적으로 watch
명령을 실행하여 /bin/sh -c '...'
표시되는 출력이 명령을 /bin/sh
해석하는 방법 time
입니다. 당신은 /bin/sh
분명히 내장 기능이 없습니다 time
.
다른 쉘로 명령을 실행하려면 -x
옵션을 사용 하여 기본값을 제거한 다음 원하는 내장 쉘을 명시 적으로 호출하십시오.
watch -x bash -c 'time ls'
watch -x zsh -c 'time ls'
실행 방법에 관계없이 watch
보고있는 watch
명령 은 명령 을 실행 한 셸의 자식이 아니므로 셸 설정이 직접 관련이 없습니다.