Hm, sem še malo razmišljal, pa sem zgruntal dokaj splošno rešitev:
set -e
pid=$$
(rm /kjkjdfkj || kill $pid) | cat
lp
egon
Blaz Podrzaj wrote:
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 <[EMAIL PROTECTED]>:
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 <[EMAIL PROTECTED]>:
?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
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
_______________________________________________
lugos-list mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
_______________________________________________
lugos-list mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
_______________________________________________
lugos-list mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list