diff options
author | Patrick Spek <p.spek@tyil.nl> | 2023-05-21 22:25:24 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2023-05-21 22:25:24 +0200 |
commit | c4ae7e5b74b94a7f57fe36031642ae4960163205 (patch) | |
tree | 31c307ccb0fdf0ef992df6a6aa3e17c8d504ca91 /lib | |
parent | 5cd8b678013e810e53e71f12a64067a30efe5300 (diff) |
Make more sysinfo work on FreeBSD
It appears FreeBSD does support a procfs, but it doesn't come with much
useful information for actually giving me the information I desire.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/subcommands/sysinfo.bash | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/lib/subcommands/sysinfo.bash b/lib/subcommands/sysinfo.bash index 9fcb604..2f44844 100644 --- a/lib/subcommands/sysinfo.bash +++ b/lib/subcommands/sysinfo.bash @@ -16,27 +16,40 @@ subcommand() { local storage_used local uptime - load_1="$(awk '{ print $1 }' < /proc/loadavg)" - load_5="$(awk '{ print $2 }' < /proc/loadavg)" - load_15="$(awk '{ print $3 }' < /proc/loadavg)" - memory_total="$(awk '/MemTotal/ { print $2 }' < /proc/meminfo)" - memory_free="$(awk '/MemAvailable/ { print $2 }' < /proc/meminfo)" - memory_used=$(( memory_total - memory_free )) - uptime="$(awk -F. '{ print $1 }' < /proc/uptime)" - case "${BASHTARD_PLATFORM[os]}" in freebsd) + load_1="$(uptime | awk -F' *,? *' '{ print $(NF-2) }')" + load_5="$(uptime | awk -F' *,? *' '{ print $(NF-1) }')" + load_15="$(uptime | awk -F' *,? *' '{ print $NF }')" storage_used="$(df -c | tail -n1 | awk '{ print $3 }')" storage_free="$(df -c | tail -n1 | awk '{ print $4 }')" storage_total=$(( storage_used + storage_free )) ;; *) + load_1="$(awk '{ print $1 }' < /proc/loadavg)" + load_5="$(awk '{ print $2 }' < /proc/loadavg)" + load_15="$(awk '{ print $3 }' < /proc/loadavg)" + memory_total="$(awk '/MemTotal/ { print $2 }' < /proc/meminfo)" + memory_free="$(awk '/MemAvailable/ { print $2 }' < /proc/meminfo)" + memory_used=$(( memory_total - memory_free )) storage_used="$(df --total | tail -n1 | awk '{ print $3 }')" storage_free="$(df --total | tail -n1 | awk '{ print $4 }')" storage_total=$(( storage_used + storage_free )) + uptime="$(awk -F. '{ print $1 }' < /proc/uptime)" ;; esac + [[ -z "$load_1" ]] && load_1=0 + [[ -z "$load_5" ]] && load_1=0 + [[ -z "$load_15" ]] && load_1=0 + [[ -z "$memory_free" ]] && load_1=0 + [[ -z "$memory_total" ]] && load_1=0 + [[ -z "$memory_used" ]] && load_1=0 + [[ -z "$storage_free" ]] && load_1=0 + [[ -z "$storage_total" ]] && load_1=0 + [[ -z "$storage_used" ]] && load_1=0 + [[ -z "$uptime" ]] && load_1=0 + printf "%-15s %s\n" "etcdir" "$BASHTARD_ETCDIR" printf "%-15s %s\n" "libdir" "$BASHTARD_LIBDIR" printf "%-15s %s\n" "sharedir" "$BASHTARD_SHAREDIR" |