Enviando e-mail do arquivo / etc / profile

5

Eu adicionei um comando de e-mail ao arquivo /etc/profile da seguinte forma:

echo test | mail -s "test mail" [email protected] &

O & no final da linha é para executar o comando mail em segundo plano para não adicionar um atraso ao prompt de login.

Tudo funciona bem, mas se eu pressionar Enter eu posso ver o resultado do comando mail no prompt:

[1]+  Done       echo test | mail -s "test mail" [email protected]

Se eu remover o & no final da linha, o problema não aparece, mas não tenho o comando em segundo plano.

    
por Michele Fiore 05.05.2017 / 10:53

2 respostas

3

Tente colocá-lo em um sub shell:

'echo test | mail -s "test mail" [email protected] &'

deve fazer o trabalho.

Também redireciona ambos stdout e stderr ao mesmo tempo para mim:

echo test | mail -s "test mail" [email protected] &> /dev/null &
    
por Ravexina 05.05.2017 / 11:10
2

Tente adicionar um ! , além do & , dessa forma, seu comando não é executado apenas em segundo plano, mas também ignorado pelo seu shell atual:

echo test | mail -s "test mail" [email protected] &!

Isso funciona para mim usando zsh.

    
por Markus Ankenbrand 05.05.2017 / 11:07