rofi/files/shared/uptime.sh

33 lines
786 B
Bash
Raw Normal View History

2024-07-16 22:36:51 -04:00
#!/usr/bin/env bash
2024-07-16 22:45:11 -04:00
uptime_seconds=$(cat /proc/uptime | sed 's/^\([0-9]\+\)\..*/\1/')
# Format the uptime
days=$(( uptime_seconds / 86400 ))
hours=$(( (uptime_seconds % 86400) / 3600 ))
minutes=$(( (uptime_seconds % 3600) / 60 ))
# Helper function for pluralization
pluralize() {
local value=$1
local singular=$2
local plural=$3
if [ "$value" -eq 1 ]; then
echo "$value $singular"
else
echo "$value $plural"
fi
}
# Construct the uptime string
if [ "$days" -gt 0 ]; then
uptime="$(pluralize $days day days), $(pluralize $hours hour hours), $(pluralize $minutes minute minutes)"
elif [ "$hours" -gt 0 ]; then
uptime="$(pluralize $hours hour hours), $(pluralize $minutes minute minutes)"
else
uptime="$(pluralize $minutes minute minutes)"
fi
echo "$uptime"