Como eu sei, o script shell recém-executado herda suas variáveis de ambiente. Existe uma maneira de bloquear isso? (shell em execução sem herança de variável)
shell
environment-variables
Eonil
fonte
fonte
chsh ...
. Se eu abrir uma janela de terminal e executarzsh
oufish
(com ou sem-l
, não importa), poluirá meu ambiente com todos os tipos de variáveis do shell Eu comecei fazendo o truque com.env -c
resolve este problema para mim que eu faço.env -i TERM=xterm-256color $(which fish)
.Uma possibilidade (embora pareça bastante feia):
exec -c $SCRIPT
iniciará $ SCRIPT com um ambiente vazio. (consulte aman bash
pesquisaexec \[-cl\]
).fonte
Tanto quanto eu sei, a resposta é "Não". Você pode substituir variáveis ambientais no próprio script. O valor da variável de ambiente deve voltar ao valor original assim que o script terminar de ser executado. Você provavelmente precisará executar o script como um processo filho: $ this.script.sh e para evitar ter que sair do shell sempre que executar o script para redefinir as variáveis de ambiente para o valor original.
Editar:
De um pôster anterior, parece que estou errado sobre isso não ser possível.
fonte