Linux_frogg-profile.d/func/system_info.sh

62 lines
1.8 KiB
Bash

# shellcheck disable=SC2034
get_os_info() {
local desc=""
if [ -f /etc/lsb-release ]; then source /etc/lsb-release; desc=$DISTRIB_DESCRIPTION; fi
[[ -z "$desc" && -x /usr/bin/lsb_release ]] && desc=$(lsb_release -s -d)
local re='(.*\()(.*)(\).*)'
if [[ $desc =~ $re ]]; then
F_VER=$(printf "%s%s%s%s%s" "${BASH_REMATCH[1]}" "${COLOR_YELLOW}" "${BASH_REMATCH[2]}" "${COLOR_WHITE}" "${BASH_REMATCH[3]}")
else
F_VER="${COLOR_WHITE}${desc}"
fi
}
get_hardware_info() {
local mem_ko ram_pretty disk_ko disk_pretty
# RAM Totale (on la récupère en Ko dans /proc/meminfo)
mem_ko=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
ram_pretty=$(format_size "$mem_ko")
# DISQUE Total (on le récupère en Ko avec df -k)
disk_ko=$(df -k / | awk 'NR==2 {print $2}')
disk_pretty=$(format_size "$disk_ko")
F_HARD="${COLOR_WHITE}Mem : ${ram_pretty} | Hdd : ${disk_pretty}"
}
get_network_info() {
F_IPS="${COLOR_WHITE}$(hostname -I)"
}
get_uptime_info() {
local s
s=$(cut -d. -f1 /proc/uptime)
F_UPT="${COLOR_WHITE}$(printf "%dj %02dh %02dm" $((s/86400)) $((s/3600%24)) $((s/60%60)))"
}
get_memory_info() {
local m m_tot
m=($(free -m | awk '/Mem:/ {print $2, $3}'))
m_tot=${m[0]} m_use=${m[1]}
M_PCT=$((m_use * 100 / m_tot))
F_BAR_MEM=$(draw_bar "${M_PCT}")
}
get_load_info() {
read -r one rest < /proc/loadavg
local cpu_dec=${one#*.}
[[ "$one" == *"."* && "${cpu_dec//0/}" != "" ]] && local val=$((${one%.*} + 1)) || local val=${one%.*}
F_BAR_CPU="$(draw_bar "$val")"
}
get_disk_info() {
local d
d=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
F_BAR_DSK="$(draw_bar "$d")"
}
get_user_info() {
F_USR="${COLOR_WHITE}$(awk -F: '$3 >= 1000 && $7 !~ /(nologin|false)/ {count++} END {print count+1}' /etc/passwd)"
}