Portál AbcLinuxu, 28. července 2025 18:58


Dotaz: zjisteni navratove hodnoty procesu v sekvenci prikazu

14.2.2007 10:20 Pavel | skóre: 10
zjisteni navratove hodnoty procesu v sekvenci prikazu
Přečteno: 217×
Odpovědět | Admin
Ahoj, mam prikaz: echo "ps -u test" | ssh test | wc a potreboval bych zjistit jak dopadlo to ssh, jestli $?=0 nebo 1. Po provedeni teto sekvence mi wc nastavi $? vzdy na 0, at ssh dopadne jak chce.

Dik moc.

Pavel
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 10:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud ssh skončí jiným kódem, než 0, wc se vůbec neprovede, ne? Zkuste si za ssh test nahradit false.
14.2.2007 10:42 Pavel | skóre: 10
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
prave ze provede :-(

Provede se i prikaz false | wc
PN

Nikdy neříkejte, že něco nejde. Vždy se najde iniciativní blbec, který neví, že to nejde a udělá to!
Marek Bernát avatar 14.2.2007 10:48 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
To si asi mýlite s logickým ||. Nie je mi jasné, prečo by nemala fungoovať rúra, keď program vráti niečo iné, ako 0.
physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
Marek Bernát avatar 14.2.2007 10:53 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
Teda s &&. Zaujímavá asociácia | || && :-)
physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
14.2.2007 11:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
Aha, špatně jsem to interpretoval. V zsh vrací $? předchozího celého příkazu, ne předchozího příkazu v rouře.
prikaz1
prikaz2 | echo $?
vypíše návratový kód příkazu prikaz1, nikoli prikaz2. Zajímavé :-)
14.2.2007 10:45 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
man bash a hledat PIPESTATUS
14.2.2007 10:45 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bash má na to premennú PIPESTATUS. Teda napr.:
${PIPESTATUS[1]}
echo ${PIPESTATUS[@]}
(ale v starších verziách BASH to malo nejaký problém)
Marek Bernát avatar 14.2.2007 10:51 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: zjisteni navratove hodnoty procesu v sekvenci prikazu
To funguje je aj v /bin/sh, čo je podstatnejšia informácia. Nie každý používa bash. Ale napodiv, v zsh to nefunguje.
physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.

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.