Se o source .bashrc
fornecer o ambiente desejado, o que você está perdendo é um shell de login interativo. Para fazer com que bash
funcione dessa maneira, basta executar exec bash --login
ou short exec bash -l
.
Eu trabalho em um sistema AIX onde não tenho privilégios de administrador. Tem vários shells instalados, sendo o padrão tcsh
. Eu não tenho permissão para alterar o shell de login. Geralmente inicio minha sessão a partir de exec bash
. O problema é que eu não herdo o $PATH
que eu tinha em tsch
. A primeira coisa estranha é que algumas das entradas no meu $PATH
são duplicadas, quando eu faço exec bash
. Outra coisa estranha é que quando eu faço exec bash --norc
e, em seguida, source .bashrc
está tudo bem - eu recebo o caminho do tcsh e algumas adições do meu .bashrc
.
Eu tentei comentar meu .bashrc
, mas não deu resultado - ainda não recebo o $PATH
de tcsh
. Parece que o / etc / profile do sistema está manipulando meu $PATH
. Tentei executar exec bash --noprofile
, mas ainda vejo as alterações introduzidas pelo script /etc/profile
(sobre o qual não tenho controle).
Então, no final, talvez alguém tenha detectado uma falha em minha investigação e possa me dizer como invocar o bash com o $PATH
herdado ou pode sugerir uma maneira de fazê-lo sem ler os scripts de configuração global?
(Eu publiquei esta pergunta no superusuário também, eu não tenho certeza se está tudo bem, para duplicar as perguntas, mas eu não tenho resposta lá, então que diabos ...)
Se o source .bashrc
fornecer o ambiente desejado, o que você está perdendo é um shell de login interativo. Para fazer com que bash
funcione dessa maneira, basta executar exec bash --login
ou short exec bash -l
.
Tags bash environment-variables tcsh path aix