#!/bin/sh set -xe wpa_cli scan REFRESH="-- REFRESH --" SELECTION=$REFRESH while [ "$SELECTION" = "$REFRESH" ]; do NETWORKS=$(wpa_cli scan_results | awk 'NR > 2 { $1=$2=$3=$4=""; print $0 }' | sed 's/^[ \t]*//' | sort -u) SELECTION=$(echo "$REFRESH$NETWORKS" | menu -l 10 -p "Connect to:") [ -z "$SELECTION" ] && exit 0 done ID=$(wpa_cli list_networks | grep "$SELECTION" | awk '{print $1}') if [ -z "$ID" ]; then # New connection: Prompt for password PASS=$(echo -n | menu -Pp "Password:") ID=$(wpa_cli add_network | tail -n -1) wpa_cli set_network "$ID" ssid "\"$SELECTION\"" if [ -z "$PASS" ]; then wpa_cli set_network "$ID" key_mgmt NONE else wpa_cli set_network "$ID" psk "\"$PASS\"" fi wpa_cli save_config fi wpa_cli select_network "$ID" wpa_cli enable_network "$ID"