Je voulais modifier la variable d'environnement path dans un script shell. La variable path doit être modifiée après l'exécution du script shell.Modifier la variable path du shell parent dans un script shell
Répondre
Vous devez rechercher votre script au lieu de l'exécuter.
. script.sh
ou
source script.sh
A l'intérieur du script, il suffit de l'exportation soit od juste définir la variable. Lorsque le script est exécuté, il s'exécute dans un processus de shell distinct et ne peut pas facilement modifier les variables du shell parent.
Pour en savoir plus ici: Can a shell script set environment variables of the calling shell?
Il y a deux façons que je connais pour ce faire. La première consiste à exécuter le script dans le contexte de l'enveloppe actuelle soit de:
. myscript.sh
source myscript.sh
mais qui court le risque de pollution de l'enveloppe actuelle avec toutes sortes de choses.
Je préférerais une solution où la quantité de fuite d'information est minime. Cela signifie encore en cours d'exécution comme un sous-shell, mais la sortie de la nouvelle voie sur la sortie statndard:
PATH=$(myscript.sh)
Cette méthode est un bien meilleur puisque le chemin est le que chose qui peut être affectée par la sous-shell, mais vous avez faire attention à ce que produit ce sous-shell.
- 1. Script de shell parent et enfant Problème
- 2. Passage de la variable du script shell à l'instruction sql
- 3. Comment utiliser la même variable bash entre un shell parent et l'enfant shell
- 4. Comment rejoindre la variable 2 dans un script shell?
- 5. Comment passer des valeurs du shell enfant au shell parent
- 6. Un script shell "try"
- 7. Shell Script - sauvegarde de la sous-chaîne dans la variable
- 8. Comment egrep script shell Unix variable
- 9. Problème de variable de script Shell
- 10. script shell non exécuté
- 11. dans le script shell
- 12. Script Shell, arguments
- 13. Variables d'environnement globales dans un script shell
- 14. Entrée à partir du script shell
- 15. Écrire un script shell wrapper pour awk
- 16. Shell Script avec Zenity
- 17. Script Shell Tilde Expansion
- 18. Codage du script shell du fichier
- 19. à l'aide bringue dans un script shell
- 20. Définir la liste de sortie du script shell dans AppleScript
- 21. script shell de base
- 22. but script shell de x dans « x $ VARIABLE »
- 23. Script shell pour récupérer le texte sélectionné et le modifier?
- 24. script shell + calculer réseau IP par script shell
- 25. su et sudo dans un script shell
- 26. RAILS_ROOT avec script shell
- 27. Sous-chaîne Unix dans un script shell?
- 28. Script shell pour test
- 29. Appelez un script shell dans Java?
- 30. script shell awk aide
Une troisième voie évidente est "eval", bien que ce soit aussi dangereux que l'approvisionnement. Par exemple, l'utilitaire de jeu de terminaux commun "tset" génère des commandes destinées à l'interpréteur de commandes à évaluer. –