@@ -481,32 +481,39 @@ function get_uptime_seconds() {
481481
482482function get_uptime_text() {
483483 local UPTIME_TOTAL_SECONDS=$( get_uptime_seconds)
484- local UPTIME_HOURS=$(( UPTIME_TOTAL_SECONDS / 3600 ))
485- local UPTIME_MINUTES=$(( (UPTIME_TOTAL_SECONDS % 3600 ) / 60 ))
486- local UPTIME_SECONDS=$(( UPTIME_TOTAL_SECONDS % 60 ))
484+
485+ local UPTIME_WEEKS=$(( UPTIME_TOTAL_SECONDS / 604800 ))
486+ local REMAINDER=$(( UPTIME_TOTAL_SECONDS % 604800 ))
487+
488+ local UPTIME_DAYS=$(( REMAINDER / 86400 ))
489+ REMAINDER=$(( REMAINDER % 86400 ))
490+
491+ local UPTIME_HOURS=$(( REMAINDER / 3600 ))
492+ REMAINDER=$(( REMAINDER % 3600 ))
493+
494+ local UPTIME_MINUTES=$(( REMAINDER / 60 ))
495+ local UPTIME_SECONDS=$(( REMAINDER % 60 ))
496+
487497 local UPTIME=" "
488498
489- if [ ${UPTIME_HOURS} -eq 1 ]; then
490- UPTIME=" ${UPTIME_HOURS} hour"
491- elif [ ${UPTIME_HOURS} -gt 1 ]; then
492- UPTIME=" ${UPTIME_HOURS} hours"
493- fi
499+ add_unit () {
500+ local VALUE=$1
501+ local LABEL=$2
494502
495- if [ ${UPTIME_MINUTES} -eq 1 ]; then
496- [ -n " ${UPTIME} " ] && UPTIME=" ${UPTIME} , "
497- UPTIME=" ${UPTIME}${UPTIME_MINUTES} minute"
498- elif [ ${UPTIME_MINUTES} -gt 1 ]; then
499- [ -n " ${UPTIME} " ] && UPTIME=" ${UPTIME} , "
500- UPTIME=" ${UPTIME}${UPTIME_MINUTES} minutes"
501- fi
503+ if [ " $VALUE " -eq 1 ]; then
504+ [ -n " $UPTIME " ] && UPTIME=" ${UPTIME} , "
505+ UPTIME=" ${UPTIME}${VALUE} ${LABEL} "
506+ elif [ " $VALUE " -gt 1 ]; then
507+ [ -n " $UPTIME " ] && UPTIME=" ${UPTIME} , "
508+ UPTIME=" ${UPTIME}${VALUE} ${LABEL} s"
509+ fi
510+ }
502511
503- if [ ${UPTIME_SECONDS} -eq 1 ]; then
504- [ -n " ${UPTIME} " ] && UPTIME=" ${UPTIME} , "
505- UPTIME=" ${UPTIME}${UPTIME_SECONDS} second"
506- elif [ ${UPTIME_SECONDS} -gt 1 ]; then
507- [ -n " ${UPTIME} " ] && UPTIME=" ${UPTIME} , "
508- UPTIME=" ${UPTIME}${UPTIME_SECONDS} seconds"
509- fi
512+ add_unit " $UPTIME_WEEKS " " week"
513+ add_unit " $UPTIME_DAYS " " day"
514+ add_unit " $UPTIME_HOURS " " hour"
515+ add_unit " $UPTIME_MINUTES " " minute"
516+ add_unit " $UPTIME_SECONDS " " second"
510517
511518 echo " ${UPTIME} "
512519}
0 commit comments