info:bash:variables_et_pipes

Portés des variables et modifications des variables dans des pipelines

Les commandes ou fonctions modifiant ou créant des variables dans des pipes, même en début de pipe, ne modifient pas les variables globales. Elles ne passent pas, ne traversent pas le ou les pipes. Elles restent locales à la commande ou à la fonction incluse dans une commande pipeline
Exemple:

declare toto=5
toto=12 | toto=25 | echo "toto=$toto"
toto=5
 
echo "toto=$toto"
toto=5

Solution de contournement pour 1 pipe

declare toto=5
toto=12 > >( toto=25 ) > >( echo "toto=$toto")
echo toto=$toto
toto=12
 
toto=12 > >( echo "toto=$toto")
toto=12
  • /home/franck/dokuwiki/doc/data/pages/info/bash/variables_et_pipes.txt
  • Dernière modification : 2023/01/08 14:39
  • de franck