Silêncio ssh-add

8

Eu tenho um cronjob que executa algumas tarefas e, no início do script, ele é executado como uma chamada ssh-add (ele não é executado como o usuário com a chave apropriada, portanto, ele precisa ser adicionado e, no futuro, pode bem usar uma chave de implantação definida no controle de versão). Isso é algo como isto:

ssh-agent bash -c "ssh-add /home/tomjn/.ssh/id_rsa; etc... "

Eu quero silenciá-lo, pois esse cronjob é executado regularmente, e eu tenho muitos e-mails na minha caixa de entrada que são completamente inúteis para mim, afirmando que sim, a chave foi adicionada. Eu só quero e-mails quando as coisas dão errado, como uma conexão remota git pull desligar etc., o que acontece.

Então, TLDR, continuo vendo isso:

Identity added: /home/tomjn/.ssh/id_rsa (/home/tomjn/.ssh/id_rsa)

Como eu calar a boca?

Eu tentei coisas como:

ssh-add /home/tomjn/.ssh/id_rsa > /dev/null

Mas sem sucesso. A página man não indica que há um parâmetro --quiet , há algo mais que eu possa fazer para silenciar a saída?

    
por Tom J Nowell 04.04.2014 / 13:32

1 resposta

10

A saída do comando ssh-add está em STDERR. Você precisa redirecionar STDERR para / dev / null para suprimir a saída:

mtak@frisbee:~$ ssh-add .ssh/id_rsa 2>/dev/null
mtak@frisbee:~$ 

ou, como alternativa, suprime toda a saída finalizando o comando com >/dev/null 2>&1

    
por 04.04.2014 / 14:08

Tags