Respuestas:
Parece que puede prefijar su script con el env -i
que borrará el entorno antes de ejecutar el script:
env -i sh test.sh
De man env
:
-i, --ignore-environment
start with an empty environment
Aunque no estoy seguro de por qué querrías hacer esto ...
chsh ...
. Si solo abro una ventana de terminal y ejecuto zsh
o fish
(con o sin -l
importancia) contamina mi entorno con todo tipo de variables desde shell Lo empecé. Hacer el truco env -c
resuelve este problema para mí. Sí env -i TERM=xterm-256color $(which fish)
.
Hasta donde yo sé, la respuesta es "No". Puede anular las variables ambientales dentro del script mismo. El valor de la variable de entorno debería volver a su valor original una vez que el script haya terminado de ejecutarse. Probablemente necesite ejecutar el script como un proceso secundario: $ this.script.sh & para evitar tener que cerrar sesión en su shell cada vez que ejecute el script para restablecer las variables de entorno a su valor original.
Editar:
De un póster anterior, parece que estoy equivocado acerca de que no sea posible.