Funções em ~ / .bash_profile não encontradas em um shell interativo [duplicado]

0

Eu pensei que o que quer que esteja em .bash_profile (ou .profile) que é originado em um shell de login, está disponível em um shell interativo.

Meu objetivo é disponibilizar uma lista de funções, seja em um shell de login ou em um shell interativo.

Estou usando o Ubuntu 14.04.1 e não uso .profile, mas sim .bash_profile. (O perfil foi renomeado)

Então, atualmente o que eu fiz, eu inseri as funções em .bash_profile, mas ao abrir um terminal interativo elas não estão disponíveis, apenas se eu usar bash -l .

    
por shad0VV 23.07.2016 / 15:56

1 resposta

2

As funções definidas em .bash_profile só estão disponíveis no shell que lê .bash_profile e não está disponível em sub-shells.

Quando você abre uma janela de terminal, talvez esteja abrindo um shell de login non . Alguns programas de terminal podem permitir que você abra um shell de login (por exemplo, gnome-terminal tem em edit - > profile preferences ).

No entanto, se você desembolsar outro programa (por exemplo, executar :sh de vi ), você não verá essas funções.

Normalmente, no entanto, as funções e itens que você deseja definir em cada shell devem ser colocados em .bashrc .

    
por 23.07.2016 / 16:09

Tags