Executar ./foo.env significa que você está tentando executar o arquivo como um script de shell. Executar um arquivo como um script de shell significa que o arquivo deve ter permissão executável para sua conta. Executar . ./foo.env é o equivalente a source ./foo.env , o que significa que você só precisa ter permissão de leitura no arquivo.