E-mail com saída do script bash blcheck [duplicado]

0

Bloqueio de script Bash de problemas no formato github com saída de e-mail

A saída do console é exibida correta, mas quando enviada para o e-mail via mailx entrará como anexo, não no corpo.
    33 %% dnsbl.inps.de ✓
    50 %% xbl.spamhaus.org ✓

Exemplo de saída para arquivo ou email:
16 %% dnsbl-3.uceprotect.net ^ MESC (BESC [m 16 %% dnsbl-.uceprotect.net ✓ESC (BESC [m

Aconselhar pls sobre como posso corrigir o formato no arquivo & o email ?

CMD que não está enviando para o corpo do eamil:

sh blcheck -v xx.xx.xx.xx | mail -s "server-blcheck date " [email protected]

script: link

Após assistência de @ john1024 & @cas & post anterior Removendo os Control Chars abaixo problema cmd resolvido.

CMD: ./blcheck-l -v xx.xx.xx.xx | perl -pe 's/\e([^[]]|[.*?[a-zA-Z]|].*?\a)//g' | col -b | mail -s "blcheck-l -v 'date'" email@address

O darko-poljak submeteu uma solicitação pull no github com uma nova opção para tornar a saída amigável para uso não interativo. link

    
por Snowie 03.11.2015 / 07:07

1 resposta

2

O que você vê são seqüências de escape ANSI. Em blcheck , eles são usados para alterar as cores do texto exibido no terminal . Como você descobriu, eles não funcionam em mensagens de e-mail.

Para removê-los permanentemente, edite o script blcheck com seu editor favorito. Encontre as linhas:

RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
CLEAR=$(tput sgr0)

E substitua essas linhas por:

RED=
GREEN=
YELLOW=
CLEAR=

Isso impedirá que blcheck adicione as sequências ANSI em primeiro lugar.

Abordagem mais flexível

É possível fazer o código funcionar para o terminal (ANSI) ou para um pipeline (sem ANSI). O código a seguir testa se o stdout é um terminal. Se estiver, ele define as variáveis de cor para as sequências ANSI necessárias. Se não for um terminal, nenhuma sequência ANSI será gerada.

RED=
GREEN=
YELLOW=
CLEAR=
if [ -t 1 ]
then
    RED=$(tput setaf 1)
    GREEN=$(tput setaf 2)
    YELLOW=$(tput setaf 3)
    CLEAR=$(tput sgr0)
fi
    
por 03.11.2015 / 07:15

Tags