Re: Pipe/redirect

tiberiu socaciu <[email protected]> Sun, 29 Jul 2018 09:48:48 +0300
Newsgroups gmane.org.user-groups.rlug.general
Message-ID <CAGryskE4Efn2+6BBa1=NL04ysZG-G8XDAnQn2JTcHxjCVmWKDA@mail.gmail.com>
Pe 28.07.2018, Nicu <[email protected]> a scris:
> 2018-07-28 1:53 GMT+03:00 MOROIANU Dragos <[email protected]>:
>> [dmoroianu@hpchn01 ~]$ mkfifo t.bc
>>
>> [dmoroianu@hpchn01 ~]$ bc < t.bc
>> acum intr-un alt terminal:
>> [dmoroianu@hpchn01 ~]$ echo "2+3" > t.bc
>> programul afiseaza '5' si iese fara sa mai astepte comanda 'quit'.
>> Cum conving programul sa astepte si alte comenzi si sa iasa doar dupa ce
>> ii trimit 'quit'?
>
> mkfifo t.bc
> bc < t.bc
> ...
> exec 7>t.bc
> echo 2 + 3 >&7
> echo 4 + 5 >&7
>
> ideea e sa tii FIFO-ul deschis; altfel, in momentul in care o comanda
> de forma 'foo >out'  a fost executata, toti descriptorii care au fost
> deschisi prin redirectionari sint inchisi, indiferent daca 'foo' e un
> proces separat sau o comanda built-in; iar cind capatul de scriere al
> unui FIFO e inchis, procesul din celalt capat primeste un EOF.

si care e diferenta dintre > si >> in acest caz?
m-ati facut curios cu thread-ul asta si am inceput sa caut putin
despre fd-urile la stdin, stdout, sderr in caz de redirectare

t.