Question

Ce que nous essayons de faire est d'appeler source bash_profile Pour recharger un fichier bash_profile. Le script saisit Bash_Profile d'une personne et le charge sur l'ordinateur d'une personne. Le problème est que le source bash_profile ne persistera pas en dehors du script Ruby. Après la fin du script, le terminal se ressemble auparavant. Comment pouvons-nous faire pour que source bash_profile persiste à l'extérieur du script Ruby?

Pas de solution correcte

Autres conseils

La bash_profile Modifie généralement l'environnement bash (fonctions d'installation, alias, variables, liaisons de lecture, etc.), et il n'y a vraiment aucun moyen de modifier l'environnement d'un processus de bash parent.

Donc le mieux que vous puissiez faire est de mettre fin au script Ruby par execune nouvelle fête, spécifiant le -l (ou --login) Option pour en faire un coque de connexion afin qu'il commence par s'approvisionner bash_profile. (Vous pouvez également le faire en faisant le premier caractère de l'argument -, généralement en le plaçant sur -bash.)

Si vous avez le contrôle sur la façon dont le script Ruby est initié, vous pourrez peut-être le faire être execEd, afin qu'il remplace le processus de bash parent. Cela fera un arbre de processus plus propre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top