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/ |