$SECONDS
환경 변수에 시간, 분, 초를 표시 할 수 있기를 원하므로 $RUNTIME
사용하고 싶을 때마다 전체 내용을 표시하는 대신 스크립트의 다양한 위치에서 사용하기만 하면 됩니다.
이것을 변수에 허용하기 위해 어떤 형식을 사용해야할지 모르겠습니다.
export RUNTIME="$(($SECONDS / 3600))hrs $((($SECONDS / 60) % 60))min $(($SECONDS % 60))sec"
따라서 간단히 다음과 같이 할 수 있습니다.
echo "The script ran for: $RUNTIME"
감사해요.
답변1
RUNTIME을 변수로 정의하는 것은 항상 정의된 실행 시간인 상수 값을 출력하기 때문에 도움이 되지 않습니다. 대신 셸을 사용해 보세요 function
.
runtime() {
printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
$(((SECONDS / 60) % 60)) \
$(($SECONDS % 60));
}
runtime
"명령 대체"를 통해 호출/사용합니다.