O primeiro passo é criar um arquivo de configuração para cada rede wifi que você quiser se conectar. Supondo que você queira se conectar a uma rede chamada Casa, senha 1234567890:
sudo wpa_passphrase Casa 1234567890 > casa.conf
O comando acima criará um arquivo chamado casa.conf, com o seguinte conteúdo:
network={
ssid="Casa"
#psk="1234567890"
psk=e10582b72cc038f24090b69e18ce04595f978e8c07a9ec339116d4d1289062ba
}
Note que a linha psk que está comentada é opcional e você poderá remover se não quiser que outras pessoas descubram a senha da sua rede.
Em seguida crie um arquivo chamado wireless.sh e cole o seguinte conteúdo:
#! /bin/bash
echo "Matando wpa_supplicant..."
killall wpa_supplicant
echo "Desbloqueando rfkill..."
rfkill unblock all
echo "Ativando interface wlan0..."
ifconfig wlan0 up
echo "Rodando wpa_supplicant em background..."
wpa_supplicant -B -iwlan0 -c$1
echo "Obtendo IP..."
dhclient wlan0
Rode o script:
sudo ./wireless.sh casa.conf