Domanda

Quello che stiamo cercando di fare è chiamare source bash_profile Per ricaricare un file Bash_profile. Lo script afferra Bash_profile di una persona e lo carica sul computer di una persona. Il problema è che il source bash_profile non persisterai fuori dalla sceneggiatura di Ruby. Dopo la fine della sceneggiatura, il terminale sembra lo stesso di prima. Come possiamo farlo in modo che source bash_profile persiste fuori dalla sceneggiatura di Ruby?

Nessuna soluzione corretta

Altri suggerimenti

Il bash_profile Di solito modifica l'ambiente bash (installazione di funzioni, alias, variabili, legami di lettura, ecc.) E non c'è davvero modo di modificare l'ambiente di un processo di bash genitore.

Quindi il meglio che puoi fare è terminare lo script di Ruby execing una nuova festa, specificando il -l (o --login) opzione per farlo a Shell di accesso in modo che inizi a approvvigionamento bash_profile. (Puoi anche farlo creando il primo carattere dell'argomento -, di solito impostandolo su -bash.)

Se hai il controllo sul modo in cui viene avviato lo script di Ruby, potresti essere in grado di farlo essere execed, in modo che sostituisca il processo di coltura genitore. Ciò renderà un albero di processo più pulito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top