Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#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)


Ubuntu 14.04.4 LTS 32 bits
Intel(R) Core(TM)2 Duo CPU     E7400  @ 2.80GHz

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


Ubuntu 14.04.4 LTS 32 bits
Intel(R) Core(TM)2 Duo CPU     E7400  @ 2.80GHz

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

Haut de page ↑