Seu processo shell tem uma cópia do ambiente do pai e não acessa o ambiente do processo pai. Quando o processo do shell terminar, as alterações feitas no ambiente serão perdidas. O fornecimento de um arquivo de script é o método mais comumente usado para configurar um ambiente de shell, você pode apenas querer morder o marcador e manter um para cada um dos dois tipos de shell.
Encontrou esta resposta aqui