SHELL lancement d'un shell
tlep
Messages postés
597
Statut
Membre
-
tlep Messages postés 597 Statut Membre -
tlep Messages postés 597 Statut Membre -
Bonjour,
encore une éngme pour moi :
J'ai un script de configuration de variables d'environnement pour un utilisateur.
Ce script est exécutable.
Pour le lancer, si je fais :
/home/monuser/monscript
aucune variable ne s'initialise.
Idem si je fais
sh /home/monuser/monscript
On m'a dit qu'il faut faire :
. /home/monuser/monscript
Et en effet, çà marche.
Mais pourquoi ??
Merci
encore une éngme pour moi :
J'ai un script de configuration de variables d'environnement pour un utilisateur.
Ce script est exécutable.
Pour le lancer, si je fais :
/home/monuser/monscript
aucune variable ne s'initialise.
Idem si je fais
sh /home/monuser/monscript
On m'a dit qu'il faut faire :
. /home/monuser/monscript
Et en effet, çà marche.
Mais pourquoi ??
Merci
Configuration: Windows XP Firefox 2.0.0.3
1 réponse
-
Salut,
Tu peux aussi écrire :source /home/tonuser/sonscript
Le "." ou "source" demande à ce que le script soit exécuté dans l'environnement en cours.
Voir à ce sujet le man bash :man bash -P 'less -p " source"'
;-))
-
-
Tous les scripts ne sont-ils pas exécutés dans l'environnement en cours
Pas "dans", mais "par" l'environnement en cours ce qui a pour effet de créer un processus fils (fork).
Le fait de "sourcer" un script, demande son exécution dans l'environnement en cours, le shell lit le script ligne à ligne et l'interprète directement.
-
-
-
-