Oi, Paulo!
No Spring Boot você não precisa passar valores manualmente para o application.properties. O que você faz é referenciar as variáveis de ambiente diretamente usando placeholders. O Spring resolve isso automaticamente na inicialização da aplicação.
No application.properties, configure assim:
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}
Com isso, o Spring Data JPA lê as variáveis do sistema operacional no momento em que a aplicação sobe.
No Linux, garanta que as variáveis estejam realmente exportadas antes de subir a aplicação:
export DB_URL=jdbc:mysql://localhost:3306/meubanco
export DB_USER=usuario
export DB_PASSWORD=senha
Depois, execute a aplicação no mesmo terminal:
./mvnw spring-boot:run
Se estiver usando uma IDE, o problema aqui é que as variáveis exportadas no terminal não são herdadas automaticamente. Nesse ponto, configure as variáveis de ambiente diretamente na configuração de execução da IDE.
Esse fluxo é o padrão recomendado pelo Spring, funciona bem com JPA e evita acoplamento da aplicação a arquivos .env.
Fico à disposição!