rendered paste body#!/bin/sh
export ESSIDS_FILE=/tmp/essid.tmp
export INTERFACE=wlan0
export KNOWN_ESSIDS='2WIRE206-A1D2351733 casita-s:turbo'
export ON_STATIC_IP=192.168.1.85
export ON_STATIC_GW=192.168.1.254
sudo /sbin/iwlist wlan0 scanning | grep ESSID > $ESSIDS_FILE
#cessid=''
#cpassw=''
verificarIp(){
result=`sudo /sbin/ifconfig $INTERFACE | grep "inet addr:" | awk '{print $2}'`
address=${result:5}
return $address
}
imprimirMensajeVerIp(){
echo "Su interfaz $1 se le asigno la IP: $2"
}
configurarInterfaz(){
sudo /sbin/iwconfig $INTERFACE essid $1 key $2
sudo /sbin/dhclient $INTERFACE
verificarIp
address=$?
if [ -n $address ]
then
imprimirMensajeVerIp $INTERFACE $address
else
ifconfig $INTERFACE $ON_STATIC_IP
route add default gw $ON_STATIC_GW
verificarIp
newAdd=$?
if [ -n $newAdd ]
then
imprimirMensajeVerIp $INTERFACE $newAdd
else
echo "Ya no se que hacer en esta situacion, contacte a su administrador de red!!!"
fi
fi
}
removerArchivoEssids(){
sudo rm $ESSIDS_FILE
}
cat ${ESSIDS_FILE} |while read line; do
newLine=${line#ESSID:\"}
newLength=`expr length $newLine`
newLength=`expr $newLength - 1`
cessid=${newLine:0:newLength}
echo $cessid
for i in $KNOWN_ESSIDS
do
cpos=`expr index "$i" -`
essid=${i:0:`expr $cpos - 1`}
pass=${i:cpos}
#echo $essid $pass
if [ $cessid = $essid ]
then
echo "Se encontro la red $cessid"
configurarInterfaz $cessid $pass
fi
done
done
removerArchivoEssids