Pergunta

O que estamos tentando fazer é ligar source bash_profile Para recarregar um arquivo BASH_PROFILE. O script pega o Bash_profile de uma pessoa e o carrega no computador de uma pessoa. O problema é que o source bash_profile Não vai persistir fora do script rubi. Depois que o script termina, o terminal parece o mesmo que antes. Como podemos fazer isso para que source bash_profile persiste fora do roteiro Ruby?

Nenhuma solução correta

Outras dicas

o bash_profile Geralmente modifica o ambiente Bash (instalando funções, aliases, variáveis, ligações readlina etc.), e realmente não há como modificar o ambiente do processo de Bash dos pais.

Portanto, o melhor que você pode fazer é terminar o script de rubi por execuma nova festa, especificando o -l (ou --login) opção para torná -lo um Shell de login para que ele comece adquirindo bash_profile. (Você também pode fazer isso fazendo o primeiro caráter do argumento -, geralmente configurando -o para -bash.)

Se você tiver controle sobre a maneira como o script rubi é iniciado, poderá fazer com que seja execEd, para substituir o processo de basquete pai. Isso será uma árvore de processo mais limpa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top