
$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
그리고 그것을 호출하거나 "명령 대체"와 함께 사용하십시오.