Obsługa błędów

Michal Moskal malekith w pld.org.pl
Pon, 17 Wrz 2001, 11:37:13 CEST


On Fri, Sep 14, 2001 at 01:01:44AM +0200, Rafał Kleger-Rudomin wrote:
> 
> Cześć!
> 
> W installer-dest zanadto się rozpuściliśmy z używaniem
> konstrukcji '| while read' zapominając o nieprzyjemnym efekcie
> z tym związanym: mianowicie wnętrze pętli jest wykonywane w subshellu
> i niestety zwracany status jest gubiony. 
> Tak więc mimo 'set -e' porażka jakiejś komendy czy też exit wewnątrz pętli 
> przerywa jedynie pętlę i program leci dalej.
> 
> Rozwiązania dwa jakie mi się nasuwają:
> 1) zapisywać informację o porażce do pliku i sprawdzać zaraz po pętli
>    - rozwiązanie częściowe ponieważ trzeba by sprawdzać status każdej 
>    komendy w pętli
> 2) w razie porażki uruchamiać killall `basename $0` :)))))
>    - ale wady jak w pkcie 1)
> 
> Czy też ja czegoś nie wiem i rozwiązanie jest proste jak drut?

Jest. Znaczy shell powinien sie imho wywalic, sprawdz w pdksh.
Chyba będe musiał patchować asha...

-- 
: Michal ``,/\/\,       '' Moskal    | |            : GCS {C,UL}++++$
:          |    |alekith      @    |)|(| . org . pl : {E--, W, w-,M}-
:                                  |                : {b,e>+}++ !tv h
: Current project:   ftp://aleph-0.dhs.org/pub/ksi/ : PLD Team member



Więcej informacji o liście dyskusyjnej pld-installer