[Shell Unix] Variable qui ne se redefinie pas
Résolu/Fermé
A voir également:
- [Shell Unix] Variable qui ne se redefinie pas
- Classic shell windows 11 - Télécharger - Personnalisation
- Classic shell c'est quoi ✓ - Forum Windows 8 / 8.1
- Shell startup windows 10 - Guide
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
2 réponses
dubcek
Messages postés
18781
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 avril 2025
5 630
25 mai 2009 à 09:03
25 mai 2009 à 09:03
hello
parce que DOUBLONS est modifiée dans une tâche enfant à cause du find ...| et donc n'est pas modifiée dans la tâche appellante.
x vaut toujours 1
par contre
x vaut 2
parce que DOUBLONS est modifiée dans une tâche enfant à cause du find ...| et donc n'est pas modifiée dans la tâche appellante.
x=1 find . -ls | while read fichier ; do x=2 done echo $x
x vaut toujours 1
par contre
x=1 find . -ls | (while read fichier ; do x=2 done echo $x)
x vaut 2
Merci bubcek,
J'ai compris. C'est un problème de persistance des variables. Je début en script shell, je suis plus habitué au C++.
Dans mon cas, comme j'ai deux boucles inbriquées avec chacune un pipe, ça ne fonctionne pas. Mais connaissant le problème, je peu rechercher sur le web d'autres solutions.
Merci pour ta rapidité
J'ai compris. C'est un problème de persistance des variables. Je début en script shell, je suis plus habitué au C++.
Dans mon cas, comme j'ai deux boucles inbriquées avec chacune un pipe, ça ne fonctionne pas. Mais connaissant le problème, je peu rechercher sur le web d'autres solutions.
Merci pour ta rapidité