Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1261 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [BASH] Question sur valeur de retour

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BASH] Question sur valeur de retour

n°721246
korny
Posté le 25-08-2005 à 15:58:02  profilanswer
 

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 :
 

Citation :


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 :hello:
 
 
 
 
 

mood
Publicité
Posté le 25-08-2005 à 15:58:02  profilanswer
 

n°721268
matafan
Posté le 25-08-2005 à 16:34:37  profilanswer
 

En une seule ligne: find /toto/ -type f; echo $? :whistle:

n°721272
korny
Posté le 25-08-2005 à 16:41:22  profilanswer
 

:fou:  :pt1cable:

n°721285
M300A
Posté le 25-08-2005 à 16:58:25  profilanswer
 

find /toto/ -type f && tacommande.
 
Si la valeur de retour n'est pas 0 tacommande ne sera pas exécutée :)

n°721295
le gnome
Posté le 25-08-2005 à 17:14:09  profilanswer
 

il existe aussi la quote renversée (?!?) : `commande`
 
Par exemple :

Code :
  1. ls /lib/modules/`uname -r`/kernel

n°721296
M300A
Posté le 25-08-2005 à 17:14:50  profilanswer
 

:eek:
 
C'est quoi cette chose :eek:

n°721299
korny
Posté le 25-08-2005 à 17:17:35  profilanswer
 

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 :


 
#!/bin/bash
 
echo "entre l'age du capitaine"
read age
test_vide $age
 
while [ $? -eq 0 ]
do
echo "essaye encore"
read age
test_vide $age
done
 
echo "le capintaine a $age ans"
 


 
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 :D)


Message édité par korny le 25-08-2005 à 17:20:29
n°721302
korny
Posté le 25-08-2005 à 17:19:36  profilanswer
 

le gnome a écrit :

il existe aussi la quote renversée (?!?) : `commande`
 
Par exemple :

Code :
  1. ls /lib/modules/`uname -r`/kernel



 
 
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 :D


Message édité par korny le 25-08-2005 à 17:23:01
n°721328
Pillow
'cos the trees won't talk
Posté le 25-08-2005 à 17:53:08  profilanswer
 

korny a écrit :


#!/bin/bash
 
echo "entre l'age du capitaine"
read age
test_vide $age
 
while [ $? -eq 0 ]
do
echo "essaye encore"
read age
test_vide $age
done
 
echo "le capintaine a $age ans"
 
[/quote]

Tu veux faire ça ?

while :
do
echo "essaye encore"
read age          
test_vide $age || break
done

A priori ça ne fait pas une grande différence [:petrus75]  
 
Sinon le "mieux" ça doit être :

while [ -z "$age" ]
do
echo "essaye encore"
read age
done


(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 [:petrus75] )


Message édité par Pillow le 25-08-2005 à 17:57:53
n°721536
korny
Posté le 26-08-2005 à 08:30:52  profilanswer
 

Citation :

test_vide $age || break


ah ben je connaissais pas cette utilisation du || :jap:
 
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 :D
 
le coup du while : c'est peut etre ce qu'il y'a de plus proche de ce que je veux
 
sinon
 


read age
while [ xxxx -eq 0 ]
do
echo "essaye encore" && read age
done


 
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 ;)


Message édité par korny le 26-08-2005 à 08:32:10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [BASH] Question sur valeur de retour

 

Sujets relatifs
question wifi - mise en place d'un point d'accesQuestion Linux sur un portable...
Question sur rgrepquestion programation
mauvais retour sur le bureau kdeMandrake 10.1 Question de débutant !
Aide au scripting bashExplications sur cette commande bash ":(){:|:&};:"
[débutant] problème script bash1 question
Plus de sujets relatifs à : [BASH] Question sur valeur de retour


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR