#!/bin/bash export LANG='en_US.UTF-8' # set column width COLUMNS=3 # colors green="\e[1;32m" red="\e[1;31m" undim="\e[0m" declare -A services services["nginx"]="Nginx" services["docker"]="Docker" services["sshd"]="SSH" services["plexmediaserver"]="Plex" services["openvpn-server@server"]="OVPN-server" services["smbd"]="Samba" services["smartd"]="Smart" # sort services k=0 out="" for i in "${!services[@]}"; do ((k++)) # color green if service is active, else red service_status=($(systemctl is-active "$i")) if [[ "${service_status}" == "active" ]]; then out+="${services[$i]}:,${green}▲${undim}," else out+="${services[$i]}:,${red}▼${undim}," fi # insert \n every $COLUMNS column if [ $((($k) % $COLUMNS)) -eq 0 ]; then out+="\n" fi done out+="\n" printf "\nservices:\n" printf "$out" | column -ts $',' | sed -e 's/^/ /' # printf "$services"