J'écris des scripts shell pour faire différentes choses sous OSX et Linux, mais j'ai toujours le même problème. Le script s'exécute mais les modifications apportées à l'environnement (à l'exception des disques, bien sûr) ne "collent" pas. Lorsque le script se termine, les modifications sont rétablies.Scripting de shell extraordinairement simple Question: Faire des changements collants?
Comment puis-je faire en sorte que mes modifications restent?
Éditer: Beaucoup de réponses ont été excellentes, mais elles n'ont pas aidé la situation à laquelle je suis confrontée ce soir. Je suis en train de lancer pour obtenir mon interface TAP travail
sudo bash # we go superuser
exec 4<>/dev/tap0 # opens device, creates interface tap0
ifconfig tap0 10.10.10.1 10.10.10.255
ifconfig tap0 up
qui fonctionne à merveille si je le coller, mais pas si je la source ou sh il. BTW, je ne peux pas fermer la fenêtre du terminal après que je perds l'interface tap0.
Dernière modification: Merci à tous, la réponse était d'utiliser la source comme vous l'avez tous suggéré mais de supprimer la commande sudo du script lui-même.
Droite. Ou si je lance sudo, il quittera également cette commande sudo depuis le shell. Merci. –