Keresés

Részletes keresés

NevemTeve Creative Commons License 2005-11-04 11:48:33 36
Az a kérdésem, hogy a subprocesszen belüli echo által az stdout-ra küldött adatot az echo-t követő read miért nem olvassa fel?

Mert nincs köztük pipeline.
locsemege Creative Commons License 2005-11-04 11:42:54 35
Na, már jó példát sem tudok írni:

while read a; do echo "xx${a}xx"; done </etc/fstab
A hozzászólás:
locsemege Creative Commons License 2005-11-04 11:41:54 34
Az a kérdésem, hogy a subprocesszen belüli echo által az stdout-ra küldött adatot az echo-t követő read miért nem olvassa fel? Bár igaz, ebben az esetben ez sem működne:

while read a; do echo "xx$axx"; done </etc/fstab

hiszen az echo elrontaná a következő alkalommal futó read számára az adatot. Azért egy kis homálytizedelést tarthatnál erről. Persze jó, hogy így működik, csak nem teljesen világos, hogy miért.
Előzmény:
NevemTeve Creative Commons License 2005-11-04 11:29:07 33
echo -e 'aa\nbb' | ( (read x; echo $x); read y; echo $y)
Egészen pontosan mi ezzel a gond? Az össes "read" stdin-je az lesz, amit az "echo"-tól kap... ezen a zárójelek nem változtatnak, pl
echo -e 'aa\nbb' | { read x; echo $x; read y; echo $y; }
ugyanazt eredményezi

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!