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 08/02/2018, à 21:00

Himeroos

[RESOLU] Script shell_sous-shell et les variables

Bonjour,

Je suis en train de créer des scripts avec modification de variable, malheureusement quelque chose coince je vous montre :

a.sh :

#!/bin/bash
var=a.sh
(. b.sh)
echo $var

b.sh

#!/bin/bash
echo $var
var=b.sh

J'aimerais avoir le retour suivant :

a.sh
b.sh

Sauf que avec la configuration acutel j'obtiens :

a.sh
a.sh

Avez- vous une idée pour que je puissent modifier une variable dans le shell à partir du sous-shell. Merci à vous

Dernière modification par Himeroos (Le 08/02/2018, à 22:02)


Ubuntu server 16.04 x64

Hors ligne

#2 Le 08/02/2018, à 21:10

pingouinux

Re : [RESOLU] Script shell_sous-shell et les variables

Bonsoir,

#!/bin/bash
var=a.sh
. b.sh
echo $var

Avec les parenthèses, tu exécutes b.sh dans un sous-shell, et les variables ne remontent pas.

Hors ligne

#3 Le 08/02/2018, à 21:17

Himeroos

Re : [RESOLU] Script shell_sous-shell et les variables

pingouinux a écrit :

Bonsoir,

#!/bin/bash
var=a.sh
. b.sh
echo $var

Avec les parenthèses, tu exécutes b.sh dans un sous-shell, et les variables ne remontent pas.

Bonsoir, merci de ta réponse.

Ta méthode fonctionne, par contre je ne peux plus utiliser exit, a-tu une idée pour gérer un exit code au milieu du script?

Dernière modification par Himeroos (Le 08/02/2018, à 21:18)


Ubuntu server 16.04 x64

Hors ligne

#4 Le 08/02/2018, à 21:41

pingouinux

Re : [RESOLU] Script shell_sous-shell et les variables

Ta méthode fonctionne, par contre je ne peux plus utiliser exit, a-tu une idée pour gérer un exit code au milieu du script?

Si tu parles de b.sh, remplace exit par return.

Hors ligne

#5 Le 08/02/2018, à 22:02

Himeroos

Re : [RESOLU] Script shell_sous-shell et les variables

pingouinux a écrit :

Ta méthode fonctionne, par contre je ne peux plus utiliser exit, a-tu une idée pour gérer un exit code au milieu du script?

Si tu parles de b.sh, remplace exit par return.

Niquel ça quitte bien le script b.sh merci smile


Ubuntu server 16.04 x64

Hors ligne