[LUGOS] bash - set -e

Blaz Podrzaj b at thz.net
Thu Jul 5 22:26:48 CEST 2007


Hoj,

V tvojem drugem primeru teoreticno nic ni crknilo... ti si nekaj naredil in
STDOUT  tega kar si naredil stocil v cat. Dela! Prvi del pipe ni vrgel nic na
STDOUT, drugi del je pa ta nic cisto lepo pozrl in izpljunil dalje kar je OK.

Rabis kvecjemu en pogoj v prvem delu ter 'exit 1' iz skripte.

Tole bi bila "agli" resitev tocno za tvoj primer:

([ -f "xx" ]&&rm xx|cat||exit 1)||echo x

...vse kar je v oklepajih predstavlja tvojo skripto.

lp,B

Quoting Egon Kocjan <egon at krul.ath.cx>:

> ?ivjo
>
> Recimo imam dve skripti:
>
> set -e
> rm /kjkjdfkj
>
> $ sh x.sh || echo x
> rm: cannot remove `/kjkjdfkj': No such file or directory
> x
> $
>
> To je ok primer.
>
>
> Zdaj pa bolj zanimiv primer:
>
> set -e
> rm /kjkjdfkj | cat
>
> $ sh x.sh || echo x
> rm: cannot remove `/kjkjdfkj': No such file or directory
> $
>
> Kako bi naredil, da bi celotna zadeva crknila, kljub temu da je samo en
> del pipe izraza crknil. Rad bi se izognil pisanju v fajle, itd., torej
> nekaj elegantnega. Pipe izrazi naj bi bili poljubno dolgi (ve?krat |)
>
> Lp
> egon
>
> _______________________________________________
> lugos-list mailing list
> lugos-list at lugos.si
> http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
>
>




More information about the lugos-list mailing list