Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/07/2010, à 14:20

FM33

[Résolu] $? dans if

Bonjour,

Lorsque j'utilise

if [ "$BASENOM" = "" ]

pas de problème.

Mais avec

if [ "$?" = "0" ]

ou

if [ "$?" = 0 ]

Même si $? = 1 il exécute ce qu'il y a sous then au lieu de else

Etant totalement débutant, je suis sûr que la solution doit être toute bête mais je ne vois pas.

Dernière modification par FM33 (Le 05/07/2010, à 08:52)

Hors ligne

#2 Le 04/07/2010, à 14:24

helly

Re : [Résolu] $? dans if

Déja il faut faire :

if [ $? = 0 ]

Et si ça marche pas, post ici tout ton code


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#3 Le 04/07/2010, à 14:28

credenhill

Re : [Résolu] $? dans if

hello
$? est une valeur numérique

if [ $? -eq 0 ]

Hors ligne

#4 Le 04/07/2010, à 14:29

helly

Re : [Résolu] $? dans if

Ça marche aussi avec les valeurs numériques…


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#5 Le 04/07/2010, à 18:09

nesthib

Re : [Résolu] $? dans if

oui mais c'est mieux de faire avec -eq qui est l'opérateur de comparaison numérique… : [[ $? -eq 0 ]]

sinon la meilleure solution est encore de faire, lorsque c'est possible :

if ma_commande ; then…

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 04/07/2010, à 23:01

Hizoka

Re : [Résolu] $? dans if

if [[ $? = 0 ]]

doit également marcher...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 05/07/2010, à 08:51

FM33

Re : [Résolu] $? dans if

Ca marche smile
autant avec if [ $? = 0 ] que if [ $? -eq 0 ]
mais pas avec if [[ $? = 0 ]]   ==> ./test.sh: 10: [[: not found
Le truc c'est les guillemets. Je m'étais pris la tête avec if [ "$BASENOM" = "" ] où je n'en mettait pas alors  qu'il en fallait.
Donc, texte : il faut des guillemets ; numérique : il n'en faut pas.
Merci

Hors ligne

#8 Le 05/07/2010, à 10:30

Hizoka

Re : [Résolu] $? dans if

if [[ $? == 0 ]]

oups, désolé smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne