Commit e4c7f192 authored by Muhammad Herdiansyah's avatar Muhammad Herdiansyah

Solaris: Rewritten uptime

Solaris' uptime will now show the second mark only so we don't have 2 case instances.
parent 99d43ff2
...@@ -268,55 +268,52 @@ getkernel() { ...@@ -268,55 +268,52 @@ getkernel() {
# Uptime {{{ # Uptime {{{
getuptime() { getuptime() {
# Get uptime in seconds
case "$os" in case "$os" in
"Linux" | "Windows" | "Mac OS X" | "iPhone OS" | "BSD") "Linux" | "Windows")
# Get uptime in seconds seconds="$(< /proc/uptime)"
case "$os" in seconds="${seconds/.*}"
"Linux" | "Windows") ;;
seconds="$(< /proc/uptime)"
seconds="${seconds/.*}"
;;
"Mac OS X" | "iPhone OS" | "BSD")
boot="$(sysctl -n kern.boottime)"
boot="${boot/'{ sec = '}"
boot="${boot/,*}"
# Get current date in seconds "Mac OS X" | "iPhone OS" | "BSD")
now="$(date +%s)" boot="$(sysctl -n kern.boottime)"
seconds="$((now - boot))" boot="${boot/'{ sec = '}"
;; boot="${boot/,*}"
esac
days="$((seconds / 60 / 60 / 24)) days" # Get current date in seconds
hours="$((seconds / 60 / 60 % 24)) hours" now="$(date +%s)"
minutes="$((seconds / 60 % 60)) minutes" seconds="$((now - boot))"
;;
case "$days" in "Solaris")
"0 days") unset days ;; seconds="$(kstat -p unix:0:system_misc:snaptime | awk '{print $2}')"
"1 days") days="${days/s}" ;; seconds="${seconds/.*}"
esac ;;
esac
case "$hours" in days="$((seconds / 60 / 60 / 24)) days"
"0 hours") unset hours ;; hours="$((seconds / 60 / 60 % 24)) hours"
"1 hours") hours="${hours/s}" ;; minutes="$((seconds / 60 % 60)) minutes"
esac
case "$minutes" in case "$days" in
"0 minutes") unset minutes ;; "0 days") unset days ;;
"1 minutes") minutes="${minutes/s}" ;; "1 days") days="${days/s}" ;;
esac esac
uptime="${days:+$days, }${hours:+$hours, }${minutes}" case "$hours" in
uptime="${uptime%', '}" "0 hours") unset hours ;;
uptime="up ${uptime:-${seconds} seconds}" "1 hours") hours="${hours/s}" ;;
;; esac
"Solaris") case "$minutes" in
uptime="$(uptime | /usr/xpg4/bin/awk -F ':[0-9]{2}+[a-z][a-z] |(, ){1}+' '{printf $2}')" "0 minutes") unset minutes ;;
;; "1 minutes") minutes="${minutes/s}" ;;
esac esac
uptime="${days:+$days, }${hours:+$hours, }${minutes}"
uptime="${uptime%', '}"
uptime="up ${uptime:-${seconds} seconds}"
# Make the output of uptime smaller. # Make the output of uptime smaller.
case "$uptime_shorthand" in case "$uptime_shorthand" in
"on") "on")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment