Skript otsib vabade Wifi AP-de hulgast kõige kiirema ühenduse ja haagib end selle külge

From ICO wiki
Revision as of 21:50, 26 January 2011 by Rkalamee (talk | contribs)
Jump to navigationJump to search
#Töö on tehtud FreeBSD operatsioonisüsteemis

#pseudokood
#ifconfig wlan0 up scan
#ifconfig wlan0 list scan
#for i=0 to vabad_alad
#    ifconfig wlan0 ssid next
#    dhclient 
#    time
#   wget 100k
#   time
#    jäta time meelde
#end for
#ifconfig wlan0 ssid kiireim
#dhclient wlan0

#Pooleli!!!

#!/usr/local/bin/bash

WLANIF=$(ifconfig | grep "^wlan*" | cut -d":" -f1)
echo "$WLANIF"
if [ -n "$WLANIF" ]
then
        echo " "
else
        echo "WLAN-i liides puudu"
        exit 1
fi

#liides püsti
ifconfig $WLANIF up
ifconfig $WLANIF scan
#need jaamad, mis ei ole krypteeritud (ilma WPA ja RSN ridadeta)
#kirjutatakse faili
#   1.siin on üks küsimus: Miks ifconfig .. list scan trükib väljundi
#ekraanile?
# pkg_version käsuga on sama lugu, et väljundiks on peale
# stdout'i veel mingi ekraaniväljund. Kuidas seda kätte saaks?
# praegu kirjutan selle faili, sest
#valjund=$(ifconfig $WLANIF list scan | grep -v "WPA \| RSN")
#kaotab ära kogu tabulatsiooni ja reavahetused. Seetõttu kirjutangi väljundi ajutiselt faili.

ifconfig $WLANIF list scan | grep -v "WPA \| RSN"  > wifijaamad

#IFS -i salvestamine
vanaIFS="$IFS"
IFS=$'\n'
#nii saab kätte read muutujatesse $1, $2 jne
set $(cat wifijaamad)
#iga reaga
a=0
while [ $a -le $# ]
   do
   a=$(($a+1))
   #siin on 2. koht, millest üle ei saa, tahan alguseks, et skript
   #trükiks ekraanile rea, mis ta on lugend $1, $2, $3 jne. - tahaks loetud rida saada kuhugi muutujasse 
   #edasiseks töötlemiseks
       #katki! - homme mõtlen edasi
        echo $('$'a)
done

IFS="$vanaIFS"