Skip to content

Instantly share code, notes, and snippets.

@bwmorales
Last active November 29, 2021 17:17
Show Gist options
  • Save bwmorales/bfab03a5f1e3fcdd5aadb78a2764a863 to your computer and use it in GitHub Desktop.
Save bwmorales/bfab03a5f1e3fcdd5aadb78a2764a863 to your computer and use it in GitHub Desktop.
for macOS, set your preferred wireless network
#!/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