abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 363 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: shell presmerovani stdin a stdout

28.2.2011 13:23 marek
shell presmerovani stdin a stdout
Přečteno: 478×

Dobry den.

Sice to funguje ... ale jde to zapsat v sh nebo bash bez fifo, nebo alespon citelneji?

A na /dev/tcp/localhost/8080 se odkazovat nemohu.

#!/bin/sh
mkfifo /tmp/blablafifo
(       telnet 127.0.0.1 8080 < /tmp/blablafifo \
        | ( echo -ne 'GET /serazeno.csv HTTP/1.0\n\n';cat 1>&3) \
        > /tmp/blablafifo \
) 3> serazeno.`date +%s`.csv
rm /tmp/blablafifo
Marek

Odpovědi

28.2.2011 13:40 kuka
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
Mozna by pomohlo kdybys napsal co to ma delat a proc tam mas to fifo - tzn. pojmenovanou rouru, proc nestaci nepojmenovana? Co ma delat ten "cat 1>&3"?
28.2.2011 13:47 marek
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout

Dobry den.

Na serveru, kam nemohu nic instalovat a nic tam prakticky nainstalovano neni, potrebuji kazdy den precist data z demona, ktery ma http rozhrani na portu 8080.

Ten priklad vlastne dost neobratne emuluje prikaz wget.

Nevhodne jsem predpokladal, ze kdo to nevidi, tak mi asi take neporadi.

Omlouvam se.

Marek
28.2.2011 15:56 kuka
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
No ja nejak nevidim, proc nejde proste dat telnetu ten prikaz na standardni vstup rovnou

echo -ne 'GET /serazeno.csv HTTP/1.0\n\n' | telnet 127.0.0.1 8080

a vystup zapsat do souboru. Ale neznam telnet, mozna je tam nejaky zadrhel...
28.2.2011 16:16 marek
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout

Dobry den.

Ten telnet se zavre, jakmile to echo ukonci spojeni na jeho stdin. Takze neceka na to co mu prijde po siti a nezapise to na svuj stdout.

Marek
28.2.2011 16:50 kuka
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
No jo, to je nemile. Slo by udelat neco takoveho

(echo -ne 'GET /serazeno.csv; sleep 5) | telnet 127.0.0.1 8080

ale jestli ten tvuj skript funguje (ja porad uplne nevidim jak vlastne), tak je lepsi v tom, ze to cekani tam neni natvrdo. Pripadne by se dala udelat misto sleep cekaci smycka na neco, napr. nez vznikne soubor s pozadovanym nazvem - nejprve by se musel zapsat vystup jako pomocny a nakonec prejmenovat.
1.3.2011 09:29 marek
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout

Dobry den.

Ten skript funguje:

vytvori pojmenovanou rouru

pusti telnet, ktery cte z pojmenovane roury

pusti dalsi instanci shellu, ktere stdout je presmerovan do pojmenovane roury:

zapiseme do pojmenovane roury ten GET, a vsechno co prijde na stdin posleme do 3

Tim jsme docilili, ze dokud je co cist (ten cat), tak se nova instance shellu neukonci, a na jeji stdout nic netece.

Pak uz staci 3 zapsat do souboru.

Vlastne by bylo asi lepsi to napsat bez toho 3:

#!/bin/sh
TMPFILE=`mktemp -td  "tel.XXXXXXXXXX"` || exit 1
mkfifo "$TMPFILE/telnetin"
telnet 127.0.0.1 8080 < $TMPFILE/telnetin | (
        echo -ne 'GET /serazeno.csv HTTP/1.0\n\n'
        cat  > serazeno.`date +%s`.csv
) > $TMPFILE/telnetin
rm "$TMPFILE/telnetin"
rmdir "$TMPFILE"
Marek
28.2.2011 13:46 chrono
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
Nefunguje niečo ako curl -o serazeno.`date +%s`.csv http://127.0.0.1:8080/serazeno.csv (prípadne niečo podobné s wget, lynx...)?
28.2.2011 13:49 marek
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout

Dobry den.

Nic takoveho bohuzel nemam k dispozici.

Dokonce tam neni ani netcat.

Marek
28.2.2011 16:46 Jirka P
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
Mně to funguje takto:

printf 'GET index.html HTTP/1.0\n\n' | telnet localhost http > /tmp/iindex
28.2.2011 17:07 Jirka P
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
Aha, už to vidím. Co takto:

{ printf 'GET /index.html HTTP/1.0\n\n'; sleep 1d& } | { telnet localhost http > /tmp/iindex; kill %1; }
1.3.2011 09:13 marek
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout

Dobry den.

To neni spatne.

To puvodni reseni ma ale vyhodu, ze se da vyhodnocovat vystup a podle toho upravovat vsup (pokud ten cat nahradim treba tee a awk).

Vlastne takova emulace prikazu expect.

Mne slo spis o vyreseni toho presmerovani.

Dekuji.

Marek
1.3.2011 10:24 omg
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout
/dev/tcp v basi neni pritomno?
1.3.2011 11:24 marek
Rozbalit Rozbalit vše Re: shell presmerovani stdin a stdout

Dobry den.

NOTE: Bash, as packaged for Debian, does not support using the /dev/tcp and /dev/udp files.

Marek

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.