Por que meu $ PATH não é herdado pelo bash invocado?

2

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 ...)

    
por Anton Daneyko 08.12.2011 / 10:43

1 resposta

1

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 .

    
por 08.12.2011 / 11:26