Piping cat to sendmail não respeitando novas linhas

0

Eu tenho um script que executa algumas verificações de integridade, envia os resultados para um arquivo que é então concatenado e canalizado para uma função sendmail da seguinte forma:

{ echo "$headers"; echo; cat health_check.log; } | sendmail "$recipients" ;

Se eu cat do arquivo, a saída é o resultado das verificações de integridade em algumas 40 linhas. Quando recebo o e-mail, o corpo do texto está todo em uma linha e, consequentemente, difícil de ler.

Como posso garantir que novas linhas sejam respeitadas?

    
por Nanor 15.11.2016 / 11:25

1 resposta

0

apenas alguns pensamentos (desculpe, não posso comentar):

Você tentou armazenar $ headers e cat file em uma nova variável e, em seguida, fazer o eco dessa variável no terminal para verificar se há novas linhas no lugar? Se você conseguir construir um novo var correto, então você precisa ir mais fundo na parte do sendmail.

Por exemplo, isto ecoa a mensagem $ corretamente na minha tela ... mas eu não pude testá-la com o sendmail.

data=$(cat b.txt)
headers=$(cat c.txt)
message=$(echo "$headers")
message+=$(echo "\n")
message+=$(echo "$data")
echo -e "message=\n$message"
sendmail "$recipients" <<<"$message"
    
por 16.11.2016 / 00:39