Freesco, NND, CDN, EOS
http://forum.freesco.pl/

skrypt zwracający IP lub nazwę hosta
http://forum.freesco.pl/viewtopic.php?f=35&t=16091
Strona 1 z 1

Autor:  Kipa [ sobota, 13 października 2007, 13:33 ]
Tytuł:  skrypt zwracający IP lub nazwę hosta

Niezbyt często coś robię pod FreeSCO, ale to chyba dobrze o nim świadczy, bo już ładnych 5 lat serwerek chodzi i nie wymaga wielu interwencji.
Ostatnio analizowałem jakieś wpisy, które sobie sam zrzucam, a że rzadko tam zaglądam, to numet IP mi niewiele mówi.
Czasmi jest odwrotnie, gdzie chcę wiedzieć jaki numer IP ma dany host.

Dlatego napisałm taką procedurkę, która zwraca IP lub nazwę hosta w zależności co się poda w parametrze. Można przed zrzutem zamienić jedno na drugie lub zapisać obydwie informacje.

Skoro już ją napisałem to ją tu wrzuciłem, gdyby ktoś coś takiego potrzebował. Ja sobie ję nazwałem f_ip
: [/] [] ()
# by KIPA :-)
# Jakie IP ma dany komputer na podstawie hosts
# i vice versa
# zwraca IP lub nazwę

i=8   # --- nr linii od której zaliczać hosts
s=3   # --- ile pustych lini na stop

. /etc/system.cfg

f=$s  # --- liczenie pustych lini od nowa
while [ "$f" -gt 0 ]; do   # --- do odczytu tylu pustych ile podaje stop
  i=$(expr $i + 1)   # --- nastepna linia
  l=`sed -n $i,//l /etc/hosts`   # --- czytaj linie
  [ "$l" ] || f=$(expr $f - 1)   # --- zalicz pusta
  ii=0  # --- wyzeruj licznik wyrazow
  for w in $l; do   # --- wyrazy w linii
    ii=$(expr $ii + 1)  # --- kolejny wyraz
    case $ii in
    1)
      # --- nr IP
      [ "$w" = "#" ] && ii=3  # --- przeskocz komentarz
      if [ "$w" -eq "$NETWORK1" ]; then komp=$w; fi  # --- odczytaj nazwę hosta
      if [ "$1" = $w ]; then
        f=0  # --- ustaw wsakźnik, że to ten IP
      fi
      ;;
    2)
      # --- nazwa kompa
      if [ "$1" = $w ]; then
        echo $komp    # --- zwróć nazwę hosta
      fi
      if [ "$f" = 0 ]; then
        echo $w       # --- zwróć IP
      fi
      f=$s  # --- pełna wartosc stop, linia niepusta
      ;;
    esac
  done
done

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/