Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- FILE=./interfaces.txt
- # tworzenie pliku $FILE
- # zapisywanie informacji z infonfig do pliku
- ifconfig > $FILE
- # separator wizualny
- echo "--------------------------------" >> $FILE
- INTS=$(ifconfig | grep -v lo | grep -A1 'Link encap')
- # zmienna pomocnicza - licznik na podstawie ktorego
- # bedziemy sie orientowac, ktore pole z ifconfig aktualnie ANALizujemy
- i=0
- # petelka for przelatuje po wszystkich aktywnych interfejsach zwroconych przez ifconfig
- for ii in $INTS; do
- # pierwsza informacja zawsze bedzie nazwa interfejsu
- if [[ $i -eq 0 ]]; then
- interface=${ii}
- fi
- # informacja "na pozycji" 4 bedzie zawierala adres MAC
- if [[ $i -eq 4 ]]; then
- mac=${ii}
- fi
- # informacja "na pozycji" 6 bedzie zawierala adres IP
- if [[ $i -eq 6 ]]; then
- # substring, wycinamy "addr:" z ciagu znakow z adresem IP zwracanym przez ifocnfig
- ipaddr=${ii#*:}
- fi
- i=$((i+1))
- # ostatnia informacja z ifconfig bedzie Maska sieciowa
- # jesli natrafimy na ta informacje, ustawiamy licznik na -1
- # i zaczynamy oznaczanie kolejnego interfejsu
- if [[ "${ii%:*}" == 'Mask' ]]; then
- # echo $ii == Mask
- i=-1
- # zpis informacji do pliku w formacie
- # interface, ipaddress, mac
- echo "${interface}, ${ipaddr}, ${mac}" >> $FILE
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement