[bash] variables dans fonction lancée en background
Bonjour à tous.
J'ai un souci avec la gestion des variables dans des fonctions lancées en arrière plan.
Il me semblait que les variables utilisées dans une fonction étaient globales, or je n'arrive pas à les récupérer.
Voici l'exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #!/bin/bash
duNEW()
{
dunew1=$(du -ks /home/moi/) &&
new1=1
echo $dunew1
echo $new1
}
duOLD()
{
duold1=$(du -ks /media/HDD/0-Backup/rsync/home/moi/) &&
old1=1
echo $duold1
echo $old1
}
duNEW &
duOLD &
wait
echo "OK"
echo $dunew1
echo $new1
echo $duold1
echo $old1
read |
J'obtiens un résultat sur les echo à l'intérieur des fonctions mais après le OK, que du vide !
Je ne comprends pas pourquoi ces variables n'existent plus ?
Nota : lorsque l'appel des 2 fonctions se fait en synchrone (sans le &), j'obtiens bien mes variables.
Merci d'avance de votre aide précieuse !