Skip to content

Commit c512776

Browse files
committed
Support weeks and days in uptime
1 parent 6e1b8f9 commit c512776

1 file changed

Lines changed: 29 additions & 22 deletions

File tree

scripts/common/system-info.sh

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -481,32 +481,39 @@ function get_uptime_seconds() {
481481

482482
function 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

Comments
 (0)