#! /bin/bash # # netstatus.sh # Copyright (C) 2018 rehashedsalt # # Distributed under terms of the MIT license. # # Global vars if_default="" ipv4_private="" # Define our tests function test-gateway { if ip r | grep default > /dev/null 2>&1; then ipr="$(ip r | grep default)" ipv4_private="$(echo $ipr | awk '{print $3}')" if_default="$(echo $ipr | awk '{print $5}')" unset ipr return 0 else return 1 fi } function test-internet { if ping -c 1 8.8.8.8 > /dev/null 2>&1; then return 0 else return 1 fi } function test-dns { if ping -c 1 google.com > /dev/null 2>&1; then return 0 else return 1 fi } # Actually go through with them if ! test-gateway; then printf "NONE" exit 1 fi if ! test-internet; then printf "LOCAL" exit 2 fi if ! test-dns; then printf "NO DNS" exit 3 fi printf "UP" exit 0