Re: programovani bashe
To |
Filip Hroch <hroch zavinac monoceros bod physics bod muni bod cz> |
From |
Vladimir Michl <Vladimir bod Michl zavinac seznam bod cz> |
Date |
Mon, 29 Jul 2002 12:46:55 +0200 (CEST) |
Cc |
czdebian-l zavinac debian bod cz |
Melo by to jit pomoci neceho takovehoto:
./pipe | while read INPUT ; do
echo $INPUT
done
nejak podobne jsem neco takoveho psaval.
On Thu, 6 Jun 2002, Filip Hroch wrote:
> Ciao
>
> mam programatorsky problem primo nesouvisejici s Debianem ale nevim,
> kde se jinde zeptat.
>
> Mam script ktery periodicky spousti skupinu prikazu a v jednom z nich
> potrebuju predat data do stdinput jineho programu. Zhruba neco takoveho:
>
> ...
> # spusteni externiho programu
> neco |< /tmp/pipe &
>
> while [..]; do
> sleep
> echo ahoj |> /tmp/pipe
> done
>
> ...
>
> pritom musi byt ten std. input neustale otevreny a uzavrit se teprve
> po poslednim prikazu.
>
> Jde o script ktery porizuje davkove snimky z CCD kamery a jejich nazvy
> pak rve na vstup zobrazovaciho programu. Je potreba mit celou dobu
> provadeni otevreny vstup a cekat na data. Pokud by se
> zavrel bylo by potreba jej spustit znova.
>
> Abych to popsal lepe mam to zvladnute konstrukci
>
> open(NVIEW,"| neco > /dev/null")
> while(..) {
> print NVIEW "$name\n";
> }
>
> v perlu, ale radeji bych presel k bashi (sh, v nejhorsim csh).
>
> Dokud jsem to nevyzkousel, tak jsem veril, ze pomuze posilat data
> pres nejakou pipe (mysleno vnejsi vytvorenou pres mkfifo) ale
> ta se po jednom zapisu zavre a s ni i zobrazovaci program.
>
> Jde to provest napriklad pres 'exec 5<'?
>
> diky
> FH
>
> ________________________________________________
> CZdebian-l maillist - CZdebian-l zavinac debian bod cz
> http://www.debian.cz/mailman/listinfo/czdebian-l
> E-mail (un)subscriptions: czdebian-l-request zavinac debian bod cz
>
-------------------------------------------------------------------------
Vladimir Michl E-mail: Vladimir bod Michl zavinac seznam
bod cz
Czech Republic Web: http://www.penguin.cz/~michlv
Phone: +420 68 5391545
ISO-8859-2 compatible Work phone: +420 68 5353548
1024G/2F699DA4 Finger: D558 FF4F 468E 544F 7F43 E005 7E7C AD8F 2F69 9DA4
Partial thread listing: