bash 스크립트의 환경 변수에 $SECONDS를 넣을 수 있나요?

bash 스크립트의 환경 변수에 $SECONDS를 넣을 수 있나요?

$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

"명령 대체"를 통해 호출/사용합니다.

관련 정보