#!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail if [[ "${1-}" =~ ^-*h(elp)?$ ]]; then echo 'Usage: ./script.sh arg-one arg-two This is an awesome bash script to make your life better. ' exit fi if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace fi cd "$(dirname "$0")" main() { # no connection state=0 # test each interfaces for connectivity for iface in $(ls /sys/class/net/ | grep -v lo); do if [[ $(cat /sys/class/net/$iface/carrier 2>/dev/null) = 1 ]]; then echo -e "$iface \e[32mconnected\e[0m" state=1 else echo -e "$iface \e[31mno_connection\e[0m" fi done # check summary if [[ $state -eq 0 ]]; then echo -e " \n\e[31mno connection\e[0m" > /dev/stderr; exit -1; else echo -e "\n\e[32mconnected\e[0m" > /dev/stdout; exit 0; fi } main "[email protected]"