scripts/network.sh: use a list of hosts

- Use a list of hosts: google.com, github.com, example.com
- Script will try each in turn, stopping at the first one that connects
- Also fix she-bang and some quotes

- Tested with Wifi and Offline.
This commit is contained in:
Peter Bui 2020-04-29 09:36:11 -04:00
parent b497fe68bd
commit 62537a8c6b

View file

@ -1,9 +1,10 @@
#/usr/bin/env bash
#!/usr/bin/env bash
#author: Dane Williams
#script for gathering internet connectivity info
#script is called in dracula.tmux program
HOSTS="google.com github.com example.com"
get_ssid()
{
@ -11,9 +12,9 @@ get_ssid()
case $(uname -s) in
Linux)
if iw dev | grep ssid | cut -d ' ' -f 2 &> /dev/null; then
echo $(iw dev | grep ssid | cut -d ' ' -f 2)
echo "$(iw dev | grep ssid | cut -d ' ' -f 2)"
else
echo ' Ethernet'
echo 'Ethernet'
fi
;;
@ -21,7 +22,7 @@ get_ssid()
if /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep -E ' SSID' | cut -d ':' -f 2 &> /dev/null; then
echo "$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep -E ' SSID' | cut -d ':' -f 2)"
else
echo ' Ethernet'
echo 'Ethernet'
fi
;;
@ -37,11 +38,15 @@ get_ssid()
main()
{
if ping -q -c 1 -W 1 github.com &>/dev/null; then
echo "$(get_ssid)"
else
echo ' Offline'
fi
network="Offline"
for host in $HOSTS; do
if ping -q -c 1 -W 1 $host &>/dev/null; then
network="$(get_ssid)"
break
fi
done
echo " $network"
}
#run main driver function