Question sur valeur de retour [BASH] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 25-08-2005 à 16:58:25
find /toto/ -type f && tacommande.
Si la valeur de retour n'est pas 0 tacommande ne sera pas exécutée
Marsh Posté le 25-08-2005 à 17:14:09
il existe aussi la quote renversée (?!?) : `commande`
Par exemple :
Code :
|
Marsh Posté le 25-08-2005 à 17:17:35
Bon , je vais mettre mon exemple concret :
résumé du script:
- demande de l'âge
- utilisation de la fonction test_vide() qui retourne 1 sur la variable n'est pas nulle, sinon retourne 0.
- du momment que la variable $age est vide, on repose la question
Citation : |
et sur cette idée, je voudrais faire la boucle while sans retester $age à chaque fois.
c'est "while [ $? -eq 0 ]" qui me dérange ...
(bon l'exemple n'a pas de sens .. mais c'est juste un exemple )
Marsh Posté le 25-08-2005 à 17:19:36
le gnome a écrit : il existe aussi la quote renversée (?!?) : `commande`
|
merci je connais les quotes inversées et on peut meme ecrire :
ls /lib/modules/$(uname -r)/kernel
mais c'est pas ca que je veux
Marsh Posté le 25-08-2005 à 17:53:08
korny a écrit : |
Tu veux faire ça ?
while : |
A priori ça ne fait pas une grande différence
Sinon le "mieux" ça doit être :
while [ -z "$age" ] |
(m'enfin dans l'exemple c'est franchement ininteressant comme "optimisation", 99.999999999999999999999999% du temps est passé à attendre que l'utilisateur tape sur son clavier, hein )
Marsh Posté le 26-08-2005 à 08:30:52
Citation : test_vide $age || break |
ah ben je connaissais pas cette utilisation du ||
Bon oui, je confirme que la founction ne sert à rien. Je découvre les fonctions, et je voulais en tester une qui teste juste si la variable n'est pas vide , et oui, dedans la fonctino y'a juste un -z
le coup du while : c'est peut etre ce qu'il y'a de plus proche de ce que je veux
sinon
|
et XXX : execution de "test_vide $age" et test de la valeur de retour avec -eq 0
enfin bon, si c'est pas possible, j'ai maintenant d'autres possibilités
Marsh Posté le 25-08-2005 à 15:58:02
Est ce possible de récupérer directement la valeur de retour d'une commande ?
plus précisement, peut on faire en une seule ligne ce que font les 2 lignes suivantes :
find /toto/ -type f
echo $?
je voudrais avoir tout de suite en sortie standard la valeur de retour du `find /toto/ -type f ` sans passer par le echo $?
possible ou pas possible ?
Merci