O espaço em branco importa em arquivos conf nginx?

3

Eu tenho um arquivo nginx conf que, devido ao uso de variáveis de ambiente, eu tenho um shell script echo, esse arquivo eu me refiro como nginx.conf.template , então eu coloco o resultado ecoado no nginx.conf , veja shell script abaixo:

#!/bin/sh
function subst() { eval echo -E "$2"; }
mapfile -c 1 -C subst < nginx.conf.template > nginx.conf

O único problema que tenho com isso é que ele remove todos os espaços em branco do recuo, imagino que isso causaria um problema, mas o contêiner docker no qual estou executando este nginx server parece bem. Importa que eu não tenha indentações? Se isso importa, pode-se preservar o espaço em branco?

    
por Christian Grabowski 26.06.2015 / 19:21

1 resposta

2

Não está removendo todo o seu espaço em branco. Está reduzindo cada pedaço de espaço em branco a um único espaço. Para a maior parte do seu nginx.conf , isso não afetará nada. Se você tiver citado strings com múltiplos espaços, estes também serão alterados pelo comando acima. Você pode verificar isso facilmente por grep ing para cotações no modelo.

Em vez de alterar echo para preservar espaço em branco, talvez seja mais fácil criar seu modelo como heredoc no script.

Livrar-se do espaço em branco extra pode ser útil para reduzir os footprints de memória em um ambiente incorporado, mas a menos que você seja severamente limitado em recursos, manter a formatação do modelo para a configuração real tornará a depuração muito mais agradável.

    
por 26.06.2015 / 20:13