[Shell] affectation de variable après &&
Résolu/Fermé
A voir également:
- [Shell] affectation de variable après &&
- Classic shell windows 11 - Télécharger - Personnalisation
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Shell startup windows 10 - Guide
1 réponse
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
6 mai 2011 à 19:10
6 mai 2011 à 19:10
Salut,
C'est parce que tu exécutes ton 1er test dans un shell fils (entre parenthèses), de ce fait la variable n'est pas exportée.
Donc soit tu vires les parenthèses qui ne servent à rien en plus, soit du les changes pour des accolades (avec les accolades on reste dans le shell parent).
Ou
C'est parce que tu exécutes ton 1er test dans un shell fils (entre parenthèses), de ce fait la variable n'est pas exportée.
Donc soit tu vires les parenthèses qui ne servent à rien en plus, soit du les changes pour des accolades (avec les accolades on reste dans le shell parent).
#!/bin/bash mavariable="toto " echo "pouet pouet" && mavariable="$mavariable titi"||mavariable="$mavariable tata" echo $mavariable # juste pour vérifier
Ou
#!/bin/bash mavariable="toto " {echo "pouet pouet" && mavariable="$mavariable titi"}||mavariable="$mavariable tata" echo $mavariable # juste pour vérifier
Modifié par ITMan le 6/05/2011 à 19:40
je pensait que mes parenthèses servaient car si j'écris ton 1er exemple la 3ème commande n'est exécutée que si la 2ème échoue (je dois me tromper d'après tes dires mais c'est comme ça que je l'avais compris)... effectivement après avoir vérifié même sans parenthèses c'est bien la commande 1 qui lance la commande 2 OU la commande 3 selon le code d'erreur qu'elle renvoie.
J'ai pris l'exemple ici : http://www.haypocalc.com/wiki/Bash#Test_.28if.29
Je croyais que les parenthèses ne servaient qu'a définir des priorités comme en maths ^^
Merci beaucoup je ne savais pas qu'elles engendraient un sous shell (je ne vais pas faire un export pour ca^^)
Pareil pour les accolades, encore des petites choses à rajouter dans mon pense bête Linux ;)
Bonne soirée !