bash stdin

Zdeněk Prchal prchal na vtdata.cz
Pátek Leden 29 21:58:13 CET 2010


Zdravím,

Mám bash skript, do kterého směruji poštu (z postfixu - přes .forward - |script) .
Pokud v něm použiju

vstup=$(< /dev/stdin)

funguje to sice přes standardní pipe - echo "cokoliv" | script
ale přes mail $vstup obsahuje pouze LF, jinak nic. Když použiju

vstup=$(cat)

tak to funguje dobře i přes mail. V čem je zakopaný pes? A není druhý způsob
poněkud méně efektivní? Myslím, že bash spustí cat, přesměruje do něj
svůj stdin ajeho výstup pak uloží do té proměnné. Nedá se to zařídit nějak
efektivněji přímo v tom skriptu podobně jako v prvním případě, ale aby to
fungovalo i přes ten mail?

Díky

Zdeněk Prchal




Další informace o konferenci Linux