[bash] exitcode
Le
Philippe Delavalade

Bonjour.
Dans une commande du type
time { command 2>&1 | tee fichier; }
comment peut-on récupérer l'exitcode de « command » ?
Merci d'avance.
--
Ph. Delavalade
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20130315133958.GA16694@magellan
Dans une commande du type
time { command 2>&1 | tee fichier; }
comment peut-on récupérer l'exitcode de « command » ?
Merci d'avance.
--
Ph. Delavalade
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20130315133958.GA16694@magellan
------enig2IANHDUWTFWRRISVXPJQO
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Le 15/03/2013 14:39, Philippe Delavalade a écrit :
Bonjour,
echo $! ou echo $? devrait faire l'affaire.
--
Sandro Cazzaniga
Jabber:
Twitter: @Kharec
------enig2IANHDUWTFWRRISVXPJQO
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJRQyUuAAoJEOk/tJ1aQIB9SksH/AjX3aUEPEVSuqEupVhPBoN8
gAG79pLZqa4ND7CxbSqh4uJ+Stu51NfVjSrE80rBk2z7HVJ8BBhlrPGv+l477kwg
xUPOeF8FfJ2g/oTJQKJEUntoD81LrKIhFTD+P88WVyh1MXCyRoS0UwwuiHhbXm7A
6BxqBGUH0eMQP7hqM2J6k/f7l5R9IPR06yrQquao9MXntoe8CSeGHxRjGK0YnPxC
pyOdx0YKx9uET2VtgQEw2bbQuBR3HgKXqP4aWDzlujXwm2OYhRI3UGRgvMN3raUc
GEVH7PaVxJAOHZZYGv5QXv4YYJ32+SCc+I/iOYiHytMUL+076KNjiHwF3oabbTA µ5b
-----END PGP SIGNATURE-----
------enig2IANHDUWTFWRRISVXPJQO--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Il me semble que dans ce cas $? donne le code de sortie de la commande time
; par exemple
time { bidule 2>&1 | tee truc.log; }
echo $?
donne 0.
Pour la même commande bidon, echo $! ne donne rien.
--
Ph. Delavalade
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Essaie:
time { (command; exit_de_ma_commande=$? ) 2>&1 | tee fichier; }
puis
echo $exit_de_ma_commande
cordialement
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
------enig2GKLLNOEVKSKDQKNSCKUC
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Le 15/03/2013 15:07, Philippe Delavalade a écrit :
Non, echo $? donne le code de retour de la dernière commande lancée.
--
Sandro Cazzaniga
Jabber:
Twitter: @Kharec
------enig2GKLLNOEVKSKDQKNSCKUC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJRQyxUAAoJEOk/tJ1aQIB9MMIIAJIloW62Zwm/HiW00v6kdk4q
U732Dp+OEAbeWDV19/JDmXvKIQ+E47j3eqlMquigCQyzsb2bL4nfe8gmremsIORI
Tcvq3QxGXRWL7WlzPZNoxs2feW89viNZo26F15hX/J9QPVqb6eahE99LSVvXO6Zp
ltLEWfujaBAgM7M14xvXTZI8op42FmH4dQuNWjX25dwwCTZW3y9E1C6xhFbS4G61
eZbmsdpqJBdn80wdg/bRjAZMNFll1SdwvDaoMr7lcBiJm3+ahoeIskXR6gOMyH8E
nnuFuV0+PixhQ8pp5EnLtW3TiyxljBQBbDeSXvv6qS/UdUbeJKW1enP7ssHQTsE Õ4o
-----END PGP SIGNATURE-----
------enig2GKLLNOEVKSKDQKNSCKUC--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
quelle est la difference entre les deux ?
Julien.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
wrote:
$? est le code retour de la dernière commande.
$! est le PID du processus en arrière plan le plus récent.
man sh (ou bash ou dash ou autresh)
Pour ce qui est de time, en Bash, câest un mot-clef interne
(built-in) qui nâa pas dâautre effet que dâafficher le temps
passé. Ce nâest pas une vraie commande, juste un mot-clef. Don c
le code retour est celui du reste de la ligne de commande.
â time { false; } ; echo $?
En revanche, /usr/bin/time est un vrai programme et celui-ci a
un code retour qui est le même que celui de la commande passée
en argument si elle se termine normallement, sinon, 128 plus le
code du signal qui a arrêté le programme.
à noter que le builtin time est plus souple que le programme
time. P.ex. /usr/bin/time ne reconnaît pas les commandes
groupées ({ ⦠}).
--
Sylvain Sauvage
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Puisque (command; exit_de_ma_commande=$? ) lance un sous-shell,
ça ne va pas marcher.
--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Il y a $PIPESTATUS en bash et $pipestatus en zsh.
--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Ça ne marche pas tel quel mais ça m'a donné la bonne idée :
time { (command; echo $? ) 2>&1 | tee fichier; }
Donc merci beaucoup.
--
Ph. Delavalade
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/