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 18/04/2013, à 13:09

ar barzh paour

[Résolu] récupération d'une valeur

quel est le meilleur moyen pour récupérer une valeur modifiée par un shell "enfant"
explication :
shell1 envoie à shell2 une valeur
shell2 modifie cette valeur
je veux récupérer cette valeur dans shell1
dans l'exemple ci-dessous j'utilise un fichier, n'y a-t-il pas une autre solution ?

shell2 appelé par shell1

#!/bin/bash
#traitement du paramètre 1
echo "$1"|tr "[a-z]" "[A-Z]" >maj.txt

le shell1

#!/bin/bash
phrase="je suis en majuscule"
./shell2 "$phrase"
echo $phrase
cat maj.txt
read g

le résultat par exemple

je suis en majuscule
JE SUIS EN MAJUSCULE

Dernière modification par ar barzh paour (Le 18/04/2013, à 14:30)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#2 Le 18/04/2013, à 13:23

pingouinux

Re : [Résolu] récupération d'une valeur

Bonjour,

Voici une façon de faire :

$ cat shell1
#!/bin/bash
phrase="je suis en majuscule"
echo "$phrase"
echo "$(./shell2 "$phrase")"
read g

$ cat shell2
#!/bin/bash
#traitement du paramètre 1
echo "$1"|tr "[a-z]" "[A-Z]"

et une autre, plus simple :

$ cat shell1
#!/bin/bash
phrase="je suis en majuscule"
echo "$phrase"
./shell2 "$phrase"
read g

$ cat shell2
#!/bin/bash
#traitement du paramètre 1
echo "$1"|tr "[a-z]" "[A-Z]"

Dernière modification par pingouinux (Le 18/04/2013, à 15:47)

Hors ligne

#3 Le 18/04/2013, à 14:29

ar barzh paour

Re : [Résolu] récupération d'une valeur

salut pingouinux , toujours là quand il faut !
bien que je ne comprenne pas pourquoi et comment ça marche ça va m'aller
en utilisant
maj=`./shell2 "$phrase"`
je fais ensuite ce que je veux de maj
impec !!!
à plus et bonne fin de journée


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#4 Le 18/04/2013, à 15:50

pingouinux

Re : [Résolu] récupération d'une valeur

J'ai ajouté des " " oubliés en #2.
Dans ton exemple, c'est

maj="`./shell2 "$phrase"`"

pour tenir compte des espaces supplémentaires éventuels dans phrase.

Hors ligne