Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

bash - sto ovoj skripti fali?

[es] :: Skript jezici :: bash - sto ovoj skripti fali?

[ Pregleda: 2244 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

burtonium
Slovenia

Član broj: 3918
Poruke: 76
*.dsl.siol.net



Profil

icon bash - sto ovoj skripti fali?04.06.2003. u 10:30 - pre 221 meseci
Cao,

napisao sam neku bezveze skriptu, tek toliko, da vidim kako radi, ali ovo je nemoguce. Meni izgleda sasvim ok, mada mi javlja stalno neku gresku, a znam da je radila, pa sam valjda nesto bitno zeznuo, pa sad nikako da nadjem gresku :(

Zasto ja uvek kada je pogresna domena u pitanju dobijem sledeci error:
recimo #./dusan.sh kelfsfdst.si 213.161.0.10

error:
./dusan.sh: line 14: Desktop: command not found
i odgovor skripte:
DNS streznik 213.161.0.10 odgovarja: Domena kelfsfdst.si obstaja!

Svaki domen je pravi :(
Desktop mi je inace prvi dir, kojeg ispise prilikom LS :)

#Eto te dusan.sh!
#!/bin/sh
if `test -z $2`
then
if `nslookup -sil $1|grep "server"`
then
b="Domena $1 ne obstaja!"
elif `nslookup -sil $1|grep "connection"`
then
b="DNS streznik ni dosegljiv!"
else
b="Domena $1 obstaja!"
fi
else
if `nslookup -sil $1 server $2|grep "server"`
then
b="DNS streznik $2 odgovarja: Domena $1 ne obstaja!"
elif `nslookup -sil $1 server $2|grep "connection"`
then
b="DNS $2 streznik ni dosegljiv!"
else
b="DNS streznik $2 odgovarja: Domena $1 obstaja!"
fi
fi
I tako dalje sve do smaka sveta ...
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.beograd-3.tehnicom.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: bash - sto ovoj skripti fali?04.06.2003. u 15:51 - pre 220 meseci
Kao prvo, kada šalješ više poruka o jednoj temi, šalji ih sve u jednu forumsku „temu“.

Zatim, kada šalješ malo veći kod, uvek ga uokviri sa [code] i [/code], i koristi uvlačenje pomoću razmaka (to poboljšava čitljovost, evo, meni je Emacs to ovako automatski sredio).

A treće, „if“ kontrolna naredba očekuje iza nje naredbu a ne string!!!!

Kada koristiš „backticks“ (`test -z $2`), zapravo dobijaš string dobijen sa standardnog izlaza te naredbe uz odsečen \n sa kraja.

Code:

#!/bin/sh
if test -z $2
    then
    if nslookup -sil $1|grep "server"
        then
    b="Domena $1 ne obstaja!"
    elif nslookup -sil $1|grep "connection"
        then
    b="DNS streznik ni dosegljiv!"
    else
    b="Domena $1 obstaja!"
    fi
else
    if nslookup -sil $1 server $2|grep "server"
        then
    b="DNS streznik $2 odgovarja: Domena $1 ne obstaja!"
    elif nslookup -sil $1 server $2|grep "connect"
        then
    b="DNS $2 streznik ni dosegljiv!"
    else
    b="DNS streznik $2 odgovarja: Domena $1 obstaja!"
    fi
fi
echo $b


I primer:
Citat:
./domeni.sh kelfsfdst.si 213.161.0.10
** server can't find kelfsfdst.si.: NXDOMAIN
DNS streznik 213.161.0.10 odgovarja: Domena kelfsfdst.si ne obstaja!


Uopšte, koristiš veoma ružnu tehniku.

Da sam na tvom mestu, ja bih koristio:
Code:

TMPVAR=`nslookup ... 2>/dev/null | grep nesto`
if [ -z $TMPVAR ]; then
  ...
fi


Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

burtonium
Slovenia

Član broj: 3918
Poruke: 76
*.dsl.siol.net



Profil

icon Re: bash - sto ovoj skripti fali?04.06.2003. u 15:55 - pre 220 meseci
Cao,

hvala na trudu i za odgovor. Primedbe su primljene i bice uvazene ubuduce ;)

Hvala jos jednom.
I tako dalje sve do smaka sveta ...
 
Odgovor na temu

[es] :: Skript jezici :: bash - sto ovoj skripti fali?

[ Pregleda: 2244 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.