Add network.sh

This commit is contained in:
Abhishek Keshri 2022-08-09 06:28:35 +05:30
parent ac781bc581
commit e30c302a52
No known key found for this signature in database
GPG key ID: 87ABE188E6B98D1C

52
scripts/network.sh Executable file
View file

@ -0,0 +1,52 @@
#!/usr/bin/env bash
# setting the locale, some users have issues with different locales, this forces the correct one
export LC_ALL=en_US.UTF-8
HOSTS="google.com github.com example.com"
get_ssid()
{
# Check OS
case $(uname -s) in
Linux)
SSID=$(iw dev | sed -nr 's/^\t\tssid (.*)/\1/p')
if [ -n "$SSID" ]; then
printf '%s' "$SSID"
else
echo 'Ethernet'
fi
;;
Darwin)
if /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep -E ' SSID' | cut -d ':' -f 2 | sed 's/ ^*//g' &> /dev/null; then
echo "$(/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | grep -E ' SSID' | cut -d ':' -f 2)" | sed 's/ ^*//g'
else
echo 'Ethernet'
fi
;;
CYGWIN*|MINGW32*|MSYS*|MINGW*)
# leaving empty - TODO - windows compatability
;;
*)
;;
esac
}
main()
{
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
main