Portál AbcLinuxu, 24. srpna 2026 23:33


Dotaz: Propojeni vstupu a vystupu dvou programu

23.3.2004 20:27 trosos
Propojeni vstupu a vystupu dvou programu
Přečteno: 205×
Odpovědět | Admin
Mam dva programy: script a program. Potrebuji, aby se spustily spolecne, pricemz StdOut prvniho programu by se presmeroval na StdIn druheho programu a naopak.
Kdyz napisu:
script | program
tak se sice vypisuje vystup scriptu na vstup programu, ale samozrejme ne obracene. Vim, ze to urcite de, ale nemuzu zjistit, jak.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.3.2004 20:43 fish | skóre: 22
Rozbalit Rozbalit vše Propojeni vstupu a vystupu dvou programu
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud jsem dobre pochopil to co chces, tak by melo jit:
mkfifo /tmp/roura
cat /tmp/roura | script | program >/tmp/roura
To proste nasmeruje vystup scriptu na vstup programu a vystup programu na vstup scriptu. Je to takova silena konstrukce, ale funguje (sam ji v jednom scriptu pouzivam). Jen si dej pozor na to, co ma jit z vystupu a co se ocekava na vstupu, aby ti script nebo program nezustal viset, kdyz jeho protejsek zkonci (pripadne aby nedelal problemy ten cat).
23.3.2004 20:57 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Propojeni vstupu a vystupu dvou programu
K čemu je ten cat? Není to náhodou kandidát do soutěže?
23.3.2004 22:36 fish | skóre: 22
Rozbalit Rozbalit vše Propojeni vstupu a vystupu dvou programu
Sem snad tolik nerek ;) Chybama se clovek uci.

dik
23.3.2004 20:54 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Propojeni vstupu a vystupu dvou programu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Normálně se to dělá tak, že jeden program použije pipe(2), fork(2)ne se a spustí ten druhý...

To by mě hrozně zajímalo, jak ten skript vypadá, že to dává smysl, nedeadlockne se a že to nejde napsat bez toho (hlavně ten skript)...

IMHO funguje obyčejné
mkfifo FIFO
program1 <FIFO | program2 >FIFO
Nebo ne?
23.3.2004 22:18 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Propojeni vstupu a vystupu dvou programu
Odpovědět | | Sbalit | Link | Blokovat | Admin

A nestačila by konstrukce `command`, resp. $(command) (Command Substitution)?.

Jestli by třeba v jiném skriptu nešlo pracovat s konstrukcí typu $(skript1 | program).

To by samozřejmě pracovalo jenom s textovými soubory.

24.3.2004 19:13 trosos
Rozbalit Rozbalit vše Propojeni vstupu a vystupu dvou programu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky, to jsem presne potreboval. (jenze jsem to delal s obycejnym souborem)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.