Bonjour à tous,
mon script :
VAR1EXPORT=toto
export VAR1EXPORT
VAR2EXPORT=tata
export VAR2EXPORT
## Exec 1: ##
{promt}mon_script
## Exec 2: ##
{promt}. mon_script
## Qestion ##
Dans le premier cas, cela ne fonctionne pas (une fois le script terminé les variables ne sont pas exporté dans le shell)
Dans le deuxième car, ça fonctionne (les variables sont présente dans le shell)
Merci de m'expliquer ou me fournir un lien vers un doc pour comprendre.
En vous remerciant d'avance.
# linuxfr et les / dans le corps du texte
Posté par NeoX . Évalué à 2 (+0/-1).
j'imagine que ton exec2 c'est en fait
./mon_script
cela n'a en fait rien à voir avec l'export
c'est le chemin de recherche (le PATH) de l'executable qui entre en jeu
en faisant
mon_script
il va chercher mon_script dans le PATH, et pas forcement dans le dossier local./mon_script
il va chercher dans le dossier courant./
[^] # Re: linuxfr et les / dans le corps du texte
Posté par geegeek . Évalué à 1 (+0/-0).
". mon_script" source le script, et apparemment l'exécute aussi.
[^] # Re: linuxfr et les / dans le corps du texte
Posté par lolop (site web personnel) . Évalué à 2 (+0/-0).
"Sourcer", c'est exécuter dans le shell courant.
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
# Commande source
Posté par xenom . Évalué à 4 (+2/-0).
Ça serait bien d’être plus précis, et surtout d'expliquer ce qui ne fonctionne pas.
Mais avec le contexte on peut deviner. Je suppose que tu voudrais les variables VAR1EXPORT et VAR2EXPORT accessible dans ton shell après avoir lancé ton script.
Dans le premier cas, ton script s’exécute dans un autre shell, indépendant de ton shell actuel. Donc les variables ne sont pas exportés dans ta session actuelle.
La commande
.
est un alias desource
en bash, qui exécute ton script dans ton shell courant. Si tu veux plus d'infos tu peux cherchersource bash
.# Résolu
Posté par AQkinkin . Évalué à 2 (+1/-0).
J'ai trouvé.
. est un alias de source
source est documenté.
en gros source permet de ne pas créer un nouveau processus shell pour exécuté le script (donc exécuté dans le shell courant)
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.