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 || [email protected] Demokracja to sprawowanie rządów poprzez dyskusje, ale efektywna jest tylko wtedy, kiedy dyskusje udaje się uciszyć. _______________________________________________ pld-users-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-users-pl
