#!/bin/bash export LANG='en_US.UTF-8' # set column width COLUMNS=2 # colors green="\e[1;32m" red="\e[1;31m" undim="\e[0m" declare -A services services["docker"]="Docker" #services["openvpn-server@server"]="OVPN server" #services["openvpn-server@private"]="OVPN private" services["smbd"]="Samba" services["smartd"]="Smart" # services["minecraft@iis"]="MC IIS" # services["minecraft@iis_creative"]="IIS CREATIVE" #services["lavalink"]="Lavalink" #services["discord-music"]="Dis music" #services["discord-pisya"]="Dis pisya" #services["discord-boom"]="Dis boom" services["wsdd"]="WSD" # 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} up${undim}," else out+="${services[$i]}:,${red}down${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/^/ /'