Last active
November 29, 2021 17:17
-
-
Save bwmorales/bfab03a5f1e3fcdd5aadb78a2764a863 to your computer and use it in GitHub Desktop.
for macOS, set your preferred wireless network
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
preferredNetwork="$1" | |
securityType="$2" | |
| |
# For securityType, | |
# use OPEN for none, | |
# WPA for WPA Personal, | |
# WPA2 for WPA2 Personal, | |
# WPA/WPA2 for WPA/WPA2 Personal, | |
# WPAE for WPA Enterprise, | |
# WPA2E for WPA2 Enterprise, | |
# WPAE/WPA2E for WPA/WPA2 Enterprise, | |
# WEP for plain WEP, and | |
# 8021XWEP for 802.1X WEP. | |
| |
numIF=$(($(ifconfig | grep -E "^en.*:" | wc -l | tr -d "[:space:]")-1)) | |
| |
for ((interfaceNum=0;interfaceNum<=$numIF;interfaceNum++)); do | |
if networksetup -listpreferredwirelessnetworks en$interfaceNum | grep -q "$preferredNetwork"; then | |
networksetup -removepreferredwirelessnetwork "en$interfaceNum" "$preferredNetwork" | |
networksetup -addpreferredwirelessnetworkatindex "en$interfaceNum" "$preferredNetwork" 0 "$securityType" | |
printf "Set %s to index 0 for %s\n" "$preferredNetwork" "en$interfaceNum" | |
ifconfig en$interfaceNum down && ifconfig en$interfaceNum up | |
exit 0 | |
fi | |
done | |
printf "Could not set preferred network.\n" | |
exit 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment