이 명령을 사용하다가 외부 명령 대신 time
내장된 GNU time 명령을 사용해야 하는 상황에 부딪혔습니다 . 그럼 어떻게 해야 하나요? 어딘가에서 and/or를 사용하면 도움이 될 것이라고 보았지만 그렇지 않습니다.time
/usr/bin/time
enable
command
사용 사례는 다음과 같습니다.
watch "time ls"
/usr/bin/time
내가 원하지 않는 외부 명령을 사용합니다! 다음과 같이 터미널에서 실행할 때 내부 bash 함수를 호출하면 time
이런 일이 발생합니다 .time ls
$ time ls
정반대의 요청이 여기에 답변되었습니다.
두 명령 사이에는 많은 차이점이 있습니다. 내부 명령이 time
더 정확하지만(원하는 대로) 외부 명령에는 더 많은 옵션이 있습니다(필요하지 않음).
답변1
기본적으로 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
이를 실행하는 셸의 하위 명령이 아니므로 셸 설정은 직접적인 관련이 없습니다.