스크립트의 맨 처음부터 시작하여 끝에서 멈추는 타이머가 필요했습니다.
time yourprogram.sh
@Marius Cotofana가 설명한 기본 Linux cmd :를 사용하십시오.
스크립트의 맨 처음부터 시작하여 끝에서 멈추는 타이머가 필요했습니다.
time yourprogram.sh
@Marius Cotofana가 설명한 기본 Linux cmd :를 사용하십시오.
답변:
최고 사용 시간을 초 단위로 원하면
start=$SECONDS
그리고 마지막에
duration=$(( SECONDS - start ))
Linux의 내장 time
명령을 사용할 수 있습니다 . 매뉴얼 페이지에서 :
time COMMAND [인수]
time은 문자열 FORMAT에서 COMMAND가 사용하는 자원에 대해 표시 할 정보를 결정합니다. 명령 행에 형식이 지정되지 않았지만 TIME 환경 변수가 설정된 경우 해당 값이 형식으로 사용됩니다.
cleanup.sh
스크립트 시간을 정하려면 다음을 사용하십시오.
$ time cleanup.sh
time
당신이 사용 하는 것을 알고 있습니다. hackernoon.com/…
나는 이것이 꽤 오래된 질문이라는 것을 알고 있지만 이것은 무언가를 실행하는 데 걸린 시간을 알고 싶어 할 때 무엇이든 할 수있는 방법입니다.
Bash에는 내장 변수 이름의 내장 초 타이머가 있습니다 SECONDS
( 다른 내부 변수는 여기 참조 ).
넣어 SECONDS=0
어떤 전에의 실행 시간을 확인하고 있습니다. 좋은 결과를 얻으려면 사용자 입력 후에 있어야하므로 정보를 묻는 메시지가 나타나면 프롬프트 뒤에 입력하십시오.
그런 다음 확인하는 내용의 끝에 이것을 넣으십시오.
if (( $SECONDS > 3600 )) ; then
let "hours=SECONDS/3600"
let "minutes=(SECONDS%3600)/60"
let "seconds=(SECONDS%3600)%60"
echo "Completed in $hours hour(s), $minutes minute(s) and $seconds second(s)"
elif (( $SECONDS > 60 )) ; then
let "minutes=(SECONDS%3600)/60"
let "seconds=(SECONDS%3600)%60"
echo "Completed in $minutes minute(s) and $seconds second(s)"
else
echo "Completed in $SECONDS seconds"
fi
시간을 초 단위로만 알고 싶다면 위와 같이 단순화하면됩니다.
echo "Completed in $SECONDS seconds"
예로서:
read -rp "What's your name? " "name"
SECONDS=0
echo "Hello, $name"
if (( $SECONDS > 3600 )) ; then
let "hours=SECONDS/3600"
let "minutes=(SECONDS%3600)/60"
let "seconds=(SECONDS%3600)%60"
echo "Completed in $hours hour(s), $minutes minute(s) and $seconds second(s)"
elif (( $SECONDS > 60 )) ; then
let "minutes=(SECONDS%3600)/60"
let "seconds=(SECONDS%3600)%60"
echo "Completed in $minutes minute(s) and $seconds second(s)"
else
echo "Completed in $SECONDS seconds"
fi
date +%T -d "1/1 + $SECONDS sec"
(24 시간 미만으로 제한되었지만 요일도 추가 할 수 있음)
#!/bin/bash
start=$(date +%s)
#
# do something
sleep 10
#
#
end=$(date +%s)
seconds=$(echo "$end - $start" | bc)
echo $seconds' sec'
echo 'Formatted:'
awk -v t=$seconds 'BEGIN{t=int(t*1000); printf "%d:%02d:%02d\n", t/3600000, t/60000%60, t/1000%60}'
time
명령 (time ./script.sh), 현재 시간 사용date
명령 등 을 출력 합니다.