Como adicionar linha ao arquivo de configuração do sistema com o sudo?

8

Preciso adicionar uma linha em um arquivo de configuração (por exemplo, /etc/resolv.conf). Se eu usar

sudo echo "nameserver 192.168.1.6" >> /etc/resolv.conf

Recebo a mensagem de erro Acesso negado. O problema é que o bash escreve no arquivo da minha conta, não da conta raiz.

Existe alguma maneira de fazê-lo funcionar?

Eu sei que existe uma "solução" para gravar meus comandos no arquivo e executá-los em lote, mas é altamente desconfortável :-(

Izidor
fonte
<3 'sudo echo'. "Você não vai me levar para uma cidade descolada?" :)
crb

Respostas:

20
sudo /bin/sh -c 'echo "nameserver 192.168.1.6" >> /etc/resolv.conf'
Saurabh Barjatiya
fonte
13

echo "nameserver 192.168.1.6" | sudo tee -a /etc/resolv.conf

theotherreceive
fonte