Как добавить строку в системный конфигурационный файл с помощью sudo?

8

Мне нужно добавить строку в файл конфигурации (например, /etc/resolv.conf). Если я использую

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

Я получаю сообщение об ошибке Доступ запрещен. Проблема в том, что bash пишет в файл из моей учетной записи, а не из учетной записи root.

Есть ли способ, как это работает?

Я знаю, что есть «решение», чтобы записывать мои команды в файл и запускать их как пакетные, но это сильно неудобно :-(

Изидор
источник
<3 'sudo echo'. "Разве ты не возьмешь меня в странный город?" :)
crb

Ответы:

20
sudo /bin/sh -c 'echo "nameserver 192.168.1.6" >> /etc/resolv.conf'
Саураб Баржатия
источник
13

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

theotherreceive
источник