hpasm na PLD Th

Grzegorz Pietrzak grzes w artikon.pl
Śro, 16 Wrz 2009, 15:39:37 CEST


Dnia środa, 16 września 2009, Paweł Zuzelski napisał:
[ciach]
> > Ja narazie zakomentowałem wywołanie: eval "exec $FD>&-"
> > i narazie działa i nie wybucha, ale co to jest?
>
> To jest zamknięcie deskryptora pliku numer $FD otwartego wcześniej
> do zapisu. Ale moim zdaniem powinno być po prostu:
> exec $FD>&-
> Tzn bez tego eval.

Ta postać zmienia tylko sposób wyświetlania komunikatu błędu... :)

> > W postaci pierwotnej skrypt wypluwa komunikat " 10: not found"
Tutaj moja poprawka właśnie co do komunikatu błędu:
Z "eval" wypluty jest błąd: 
./hpasm: 10: not found
bez "eval" wypluty jest błąd:
./hpasm[30]: 10: not found
Więc to chyba niewielka różnica... ;)

> Niech zgadnę. Uruchamiasz skrypt z "shella" w mc. Jeśli tak, to masz
> otwarte /dev/tty na FD 10. Skrypt zamyka FD 10, który jednak ciągle
> jest potrzebny.
Nie ma to znaczenia czy odpalam z mc czy z czystego shella.
Błąd ten sam...

> > W odpowiednim katalogu procesu w /proc do którego się dobiera skrypt,
> > nie ma pliku o nazwie "255"
>
> [ "$FD" = "255" ] && continue
> Czyli, jeżeli $FD == 255, to nie wykonuj dalszej części pętli a
> odrazu przejdź do następnego obrotu pętli.
>
> > jest za to plik o nazwie "10".
> > Zmienić w skrypcie nazwę pliku do porównania z "255" na "10" i powinno
> > wystarczyć?
> > Czy to jest różnica między dystrybucjami, bo hpasm napisany oryginalnie
> > dla jakiegoś tam RedHata, czy co innego co jest po za moimi możliwościami
> > rozumienia?... :)
>
> Spróbuj uruchomić z normalnego shella, nie spod mc. Ewentualnie
> spróbuj dodać linijkę:
> [ "$FD" = "10" ] && continue
> (ale nie usuwaj 255), żeby nie zamykał też tego FD.

Jak wyżej...
Ale chyba zaczynam rozumieć intencję... :D

Bo wylistowanie w skrypcie katalogu w ten sposób:
ls -o /proc/$$/fd/
daje rezultat następujący:
total 0
lrwx------ 1 root 64 Sep 16 15:38 0 -> /dev/pts/1
lrwx------ 1 root 64 Sep 16 15:38 1 -> /dev/pts/1
lr-x------ 1 root 64 Sep 16 15:38 10 -> /opt/compaq/hpasm/etc/hpasm
lrwx------ 1 root 64 Sep 16 15:38 2 -> /dev/pts/1
Więc /proc/$$/fd/10 to jest link do skryptu który uruchamiam
i jeśli dobrze zrozumiałem, to własnie twórcom o ten plik chodziło.
Pomijają całą resztę[0,1,2,255] i chcą się do tego własnie dobrać i spowodować
<cytat>zamknięcie deskryptora pliku numer $FD otwartego wcześniej
do zapisu</cytat>.
I to się poprostu z jakiegoś powodu nie udaje...
Ale dlaczego tak to już jest, przynajmniej teraz, poza moimi możliwościami 
wydedukowania...


Pozdrawiam
-- 
Grzegorz Pietrzak || grzes w artikon.pl
Demokracja to sprawowanie rządów poprzez dyskusje, ale efektywna jest tylko 
wtedy, kiedy dyskusje udaje się uciszyć.


Więcej informacji o liście dyskusyjnej pld-users-pl