oculta a saída do comando enquanto usa cat e tee

0

Eu tenho um arquivo de texto que contém alguns IPs. Eu quero copiar o conteúdo deste arquivo de texto em /etc/ansible/hosts sem mostrar a saída no terminal (como mostrado no exemplo 2).

Observação: o usuário root está desativado.

Se eu usar o seguinte:

  1. sudo cat myfile.txt >> /etc/ansible/host

Não funcionará, já que o sudo cat não afetou os redirecionamentos (esperados).

  1. cat myfile.txt | sudo tee --append /etc/ansible/hosts

Ele mostrará a saída no terminal e copiá-los para / etc / ansible / hosts        A.A.A.A        B.B.B.B        C.C.C.C

  1. Adicionar /dev/null interromperá o resultado (nada será copiado para /etc/ansible/hosts ).
por Ahmad Abuhasna 09.04.2018 / 14:59

2 respostas

3
sudo tee -a /etc/ansible/hosts <myfile.txt >/dev/null

Ou, se você quiser usar cat :

cat myfile.txt | sudo tee -a /etc/ansible/hosts >/dev/null

Qualquer um desses deve funcionar. Não está claro como você "adicionou" /dev/null quando tentou, mas isso redireciona a saída padrão de tee para /dev/null .

    
por 09.04.2018 / 15:05
1

Tente usar o bash com o interruptor "-c". Por exemplo:

sudo bash -c "cat /etc/hosts >> /etc/ansible/hosts" >> /dev/null
    
por 09.04.2018 / 15:03