From e30c302a52e7a14faaf7270cce433574bbce2ccd Mon Sep 17 00:00:00 2001 From: Abhishek Keshri Date: Tue, 9 Aug 2022 06:28:35 +0530 Subject: [PATCH] Add network.sh --- scripts/network.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 scripts/network.sh diff --git a/scripts/network.sh b/scripts/network.sh new file mode 100755 index 0000000..d2aa88b --- /dev/null +++ b/scripts/network.sh @@ -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