Portál AbcLinuxu, 7. května 2024 15:38


Dotaz: zjisteni navratove hodnoty procesu v sekvenci prikazu II.

14.2.2007 12:20 Pavel | skóre: 10
zjisteni navratove hodnoty procesu v sekvenci prikazu II.
Přečteno: 80×
Odpovědět | Admin
Jak jsem se dozvedel v minule diskusi, pokud chci zjistit navratovou hodnotu prikazu oddelenych |, muzu v bashi pouzit $PIPESTATUS[@]. Ten funguje perfektne, ale porad s nim nemuzu jeste udelat co potrebuji:

AAA=`echo "aaa" | grep "aaa"`; echo $PIPESTATUS[@];

V tomto prikazu mi $PIPESTATUS vrati pouze jednu hodnotu toho prirazeni a uz se nedostane k hodnotam v sekvenci prikazu. Zkousel jsem i neco jako:

AAA=`echo "aaa" | grep "aaa"; export BB=$PIPESTATUS[@];`; echo $BB;

ale bezuspesne. Jedine co funguje je:

AAA=`echo "aaa" | grep "aaa"; echo $PIPESTATUS[@]>/tmp/aaa;`; cat /tmp/aaa;

Ale do souboru to nechci, potrebuji to ulozit do promenne. Netusite nekdo, jak toho dosahnout?

Dik moc.
Nikdy neříkejte, že něco nejde. Vždy se najde iniciativní blbec, který neví, že to nejde a udělá to!
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.2.2007 13:01 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu II.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli to dobře chápu, přes ten export to takto nemůže jít (voláš totiž další shell a z něj chceš exportovat proměnnou rodiči). S uložením do pom.souboru, to půjde, a z něj to můžeš vytáhnout:
BB="$(cat /tmp/aaa)"
A nebo bych to udělal takto (přidalo by se to do prom. AAA na konec. A z toho by to šlo vyzobnout třeba:
AAA="$(echo "aaa" | grep "aaa"; echo "$PIPESTATUS[@]")"
BB="$(echo "$AAA" | tail -n 1)"

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.