Em vez de desativar manualmente as variáveis que você não deseja herdar, execute o bash usando o comando env
:
env -i bash
O sinal -i
faz com que bash
ignore seu ambiente herdado.
Estou em uma estação de trabalho linux em uma rede, com uma distribuição "antiga". Além disso, o shell de login é aplicado ao CSH. Eu já pedi para os administradores se seria possível mudar para outro (eu gostaria de ter bash), mas foi um não-go ...
Portanto, estou executando o bash a partir da linha de comando, como um shell interativo de não-login (na verdade, estou usando o gnome e o gnome-terminal com um perfil que executa / bin / bash -i como o comando). Muito, se não todos os meus scripts usam o bash, então eu os executo invocando bash com um script. É confuso, mas funciona.Eu tenho .cshrc com variáveis de ambiente, aliases e opções para csh definidas em arquivos .login e .cshrc no meu $ HOME. Eu também tenho um .bashrc / .bash_profile (que redireciona para .bashrc se este for um shell interativo) /. Bash_aliases com algumas outras variáveis e algumas que são as mesmas. Quando executo o bash shell, herdo das variáveis de ambiente definidas no meu arquivo .login. Eu gostaria de ignorar tudo o que está configurado neste quando eu corro bash.
Eu gostaria de saber se existe uma opção para executar o bash, ignorando todas as outras variáveis de ambiente previamente definidas na minha sessão de login do CSH quando executo meu shell BASH.
Você tem alguma ideia?
Obrigado
Você deseja executar o bash como shell não interativo, dentro do CSH, com variáveis bash definidas em .bash_profile, certo?
Você pode dar uma sequência:
./bash --login
source ./bash --login
mas não posso testá-lo.