Je dois capturer la sortie et l'erreur d'une commande dans mon script bash et savoir si la commande a réussi ou non.bash variable capturer stderr et stdout séparément ou obtenir la valeur de sortie
Au moment, je capturant les deux comme ceci:
output=$(mycommand 2>&1)
Il me faut ensuite vérifier la valeur de sortie de mycommand. Si elle échoue, j'ai besoin de faire quelque chose avec la sortie, si la commande réussit, je n'ai pas besoin de toucher la sortie.
Puisque je capture la sortie, cochez $? est toujours un 0 puisque bash a réussi à capturer la sortie dans la variable.
Ceci est un moment très manuscrit sensible, donc nous essayons d'éviter des solutions plus lentes comme la sortie vers un fichier et re-lecture dans.
Si je pouvais capturer stdout à une variable et stderr à un autre, cela résoudrait mon problème car je pourrais juste vérifier si la variable d'erreur était vide ou non.
Merci.
Voir [BashFAQ/002] (http://mywiki.wooledge.org/BashFAQ/002) et [BashFAQ/047] (http://mywiki.wooledge.org/BashFAQ/047). –