다음 스크립트가 있습니다. 실행되면 합계 Start
와 end
시간이 "result.txt" 파일에 인쇄됩니다.
end-start
하지만 총 실행 시간( ) 도 기록하고 싶었지만 결국 옆에 아무것도 기록되지 않은 echo runtine
채 반환만 하게 되었습니다 . runtime:
내가 뭐 잘못 했어요?
#!/bin/bash
clear
echo "Test 001" > result.txt
echo "start time: " $(date +%T) >> result.txt
start=`date +%s`
#DO STUFF HERE
end=`date +%s`
echo "end time: " $(date +%T) >> result.txt
runtime=$((end-start))
echo "runtime: " $(runtime) >> result.txt
echo " - - - "
답변1
echo 문에 철자 오류가 있습니다. 그것은해야한다
#!/bin/bash
#clear
echo "Test 001" > result.txt
echo "start time: " $(date +%T) >> result.txt
start=`date +%s`
#DO STUFF HERE
end=`date +%s`
echo "end time: " $(date +%T) >> result.txt
runtime=$((end-start))
echo "runtime: $runtime" >> result.txt
echo " - - - "
답변2
첫째, 바퀴를 재발명하고 있습니다. 이 time
명령의 용도는 다음과 같습니다.
$ time script.sh
real 0m0.005s
user 0m0.000s
sys 0m0.004s
그런 다음 구문 오류가 발생합니다.
echo "runtime: " $(runtime) >> result.txt
구문 $(foo)
은 명령 대체이며 실행을 시도합니다 foo
.
echo "runtime: $runtime" >> result.txt
그런데 질문에 받은 오류 메시지를 항상 포함해야 합니다.