명령 대체 확장을 포함하여 명령 실행 시간을 측정합니다.

명령 대체 확장을 포함하여 명령 실행 시간을 측정합니다.

쉘 확장 명령의 실행 시간을 어떻게 측정합니까?

예를 들어:

➜ time sleep $(sleep 3; echo 1)
sleep $(sleep 3; echo 1)  0.00s user 0.00s system 0% cpu 1.003 total

대체 명령의 타이밍을 무시합니다.

4초를 출력하는 데 걸리는 총 시간을 어떻게 측정할 수 있나요?

답변1

대답은 생각보다 간단합니다. ~에 귀속됨존 B(...), 이를 달성하기 위해 서브쉘을 사용할 수 있습니다 .

➜ time (sleep $(sleep 3; echo 1))
( sleep $(sleep 3; echo 1); )  0.00s user 0.00s system 0% cpu 4.007 total

답변2

이것은 zsh에서 발생합니다.

$ zsh -c 'time sleep $(sleep 3; echo 1)'
sleep $(sleep 3; echo 1)  0,00s user 0,00s system 0% cpu 1,001 total

하지만 bash(또는 ksh)에서는 그렇지 않습니다.

$  bash -c 'time sleep $(sleep 3; echo 1)'

real    0m4.003s
user    0m0.000s
sys     0m0.000s

간단한 해결책은 일부 그룹화를 사용하는 것입니다.

$ zsh -c 'time ( sleep $(sleep 3; echo 1); )'
( sleep $(sleep 3; echo 1); )  0,00s user 0,00s system 0% cpu 4,003 total

관련 정보