스크립트의 표준 출력을 콘솔에 인쇄하는 동안 스크립트의 실행 시간을 변수에 저장하려면 어떻게 해야 합니까?

스크립트의 표준 출력을 콘솔에 인쇄하는 동안 스크립트의 실행 시간을 변수에 저장하려면 어떻게 해야 합니까?

스크립트에 소요된 시간을 측정하여 변수에 저장하고 싶습니다. 이것은 내 현재 코드입니다.

time_spent=$(time ./script.sh)
...
echo $time_spent

이는 다음과 같이 작동합니다. 스크립트에 사용자 상호 작용이 필요할 수 있으므로 스크립트 출력은 즉시 콘솔로 이동해야 합니다. 소요된 시간은 나중에 사용할 수 있도록 변수에 저장해야 합니다.

다른 것으로 이 작업을 수행할 수 있습니까 time, 아니면 다른 것을 사용해야 합니까?

답변1

/usr/bin/time내장된 시간 대신 이 -o옵션을 사용하여 파일에 시간을 쓸 수 있습니다.

$ /usr/bin/time -p -o times sleep 1
$ cat times
real 1.01
user 0.00
sys 0.00

자세한 내용은 매뉴얼 페이지를 참조하십시오.

관련 정보