Você precisa source
( .
) o arquivo, não executar:
. env.sh
Quando você executa o script, ele é executado em um subshell e todos os parâmetros exportados sairão do escopo assim que o shell (sub) sair, não afetando o shell pai.
Quando você source
, os parâmetros estarão disponíveis na sessão de chamada. E também nos processos filhos, pois você está export
-los.
Observe que o shell do sistema padrão ( sh
) para o Ubuntu é dash
, não bash
e gnome-terminal
gera bash
como o shell interativo. Durante a execução, verifique se a shebang está correta e a desejada. Além disso, enquanto source
-ing, não há necessidade do shebang, você pode descartá-lo.