Fórum Root.cz
Hlavní témata => Software => Téma založeno: aigor.net 20. 10. 2021, 09:36:01
-
Ahoj, řeším takovou hloupost a dost se v tom plácám.
Volám z PHP exec() na Bash příkaz, který má generovat nějaký výstup. Problém je, že při chybě se hláška spojí s výstupem a já potřebuju pouze text samotné chyby.
IMHO nejlíp asi formulovat příkaz tak, aby na výstupu byl pouze výsledek příkazu, NEBO text chyby. Jde to takto zapsat?
-
Pokud nastane chyba, zavolat ten samy prikaz znovu a presmerovat stout na /dev/null
…. 1>/dev/null
-
Nemuzete pouzit neco chytrejsiho, co umi zpracovat stdout i stderr?
V Bashi je to celkem zbytecny prepisovat imho.
https://stackoverflow.com/questions/2320608/php-stderr-after-exec
-
Nemuzete pouzit neco chytrejsiho, co umi zpracovat stdout i stderr?
Díky!, přesně tohle jsem potřeboval.
Čumím na to jako puk, jdu se napřed zahrabat do houští a pak se dál učit... ;)
-
Pres fifo , pro inspiraci:
napriklad:
1a] mkfifo /tmp/stdout
1b] mkfifo /tmp/stderr
V jednom okne (bude cekat na vstup):
2a] tail -f /tmp/stdout
V dalsim okne
2b] tail -f /tmp/stderr
a pak odzkousime:
prikaz bez chyby:
3a] mount >/tmp/stdout 2>/tmp/stderr
s chybou:
3b] mount /d >/tmp/stdout 2>/tmp/stderr
a pak samozrejme nezapomenout uklidit
rm /tmp/std*
J
-
A jeste jednodussi inspirace:
OK prikaz:
mount |( while read a; do echo OUT:$a; done )
Chyba:
mount /d |( while read a; do echo OUT:$a; done )
co nema OUT: na zacatku je chyba.. jen bacha na vyhodnoceni error code..
J