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.