[LUGOS] bash - set -e

Blaz Podrzaj b at thz.net
Thu Jul 5 22:41:28 CEST 2007


Aha, v bistvu tebe muci tale -e (sem spregledal). Naceloma tale 'rm x' je
naceloma "Simple Command" ampak ta bi se morala koncati s control operatorjem.
Tvoja se ne, ker se nadaljuje v pipo in to ni vec "Simple Command" ampak je ze
"Pipeline" in tukaj ti -e nic ne pomaga. Ce bi delal redirekcijo v file cemir
bi se ti rad izognil bi -e funkcioniral ker se redirekcija smatra kot del
"Simple Command".

Torej preostane ti tole spodaj -e pa ti v tem konkretnem primeru ne koristi.

lp,B

Quoting Blaz Podrzaj <b at thz.net>:

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