[ LUGOS ] bedenje nad servisi in ukrepi
Metod Kozelj
metod.kozelj na rzs-hm.si
Pet Okt 6 17:15:56 CEST 2000
Howdy!
On Fri, 6 Oct 2000, Andraz Hvalica wrote:
> if [ ! 'wget -T 15 -t 1 -q -O /dev/null cyclist.dyn.dhs.org:8080/' ];
Ti si tukaj malo pobrkal. Man test bo deloval, konkretno pa takole:
if ! wget -T 15 -t 1 -q -O /dev/null cyclist.dyn.dhs.org:8080/ ;
> Bom med vikendom prebral man bash v celoti in mi bo upam uspelo.
To nima veze z bashom, pac pa s test-om. [ je le alias za test.
Z bashom ima veze le 'if' in '!'. if preverja le izhodni status ukaza, ki
mu sledi (in se nadaljuje do podpicja). Primer:
if /bin/true; then echo "Prav"; fi
Tisti klicaj samo negira izhodni status programa. Torej je
if ! /bin/true; ....
identicno
if /bin/false; ...
Ce vstavljas taksne konstrukte v skripte, je vcasih primerno ves output
ukaza zmetati v bit sink. Recimo:
if ps axuw 2>/dev/null | grep init >/dev/null; then echo "Init tece"; fi
Kot se v zgornjem primeru visi, lahko v if navedes cel konstrukt. Pri tem
'if' uposteva le exit kodo zadnjega ukaza, ki se je izvrsil.
Kot sem ze na zacetku omenil, je '[' alias za test (na starih HP-UX je bil
to dejansko en soft link v /usr/bin). Torej si lahko preberes se man za
program 'test', da izves, kaj vse zmore.
Peace!
Mkx
---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
Dodatne informacije o seznamu Starilist