Скрипт для обновления хост-файла

У меня есть следующая команда, которая правильно создает файл / etc / hosts, который я хочу собрать. Тем не менее, я не могу написать это для 2-й формы из-за разрешений, конечно. Так что я попробовал варианты 3-й формы, но это все еще ошибки на разрешениях. Может ли кто-нибудь дать мне предложение попробовать?

cat hosts.tmp ; echo -n "myremotehost " ; cat ip.txt

cat hosts.tmp ; echo -n "myremotehost " ; cat ip.txt > /etc/hosts

cat hosts.tmp ; echo -n "myremotehost " ; echo mypassword | sudo -S cat ip.txt > /etc/hosts
1
задан 26 September 2013 в 16:14

2 ответа

Я бы добавил инструкции по изменению вашего файла /etc/hosts в сценарии оболочки, скажем, modify-hosts.sh, затем выполнил бы

sudo modify-hosts.sh

Если вы настаиваете на запуске сценария без необходимости ввода пароля, затем добавьте запись NOPASSWD специально для этого скрипта и ваше имя пользователя в /etc/sudoers.

Что касается содержимого файла, вы можете сделать:

cp hosts.tmp > /etc/hosts
echo "myremotehost $(cat /path/to/ip.txt)" >> /etc/hosts

Более удобно, если myhostname уже имеет запись в /etc/hosts, вы можете отредактировать ее на месте:

[ 112]

И это утверждение можно даже sudo в одной строке

sudo sed -i -e 's/myhostname .*/myhostname '$(cat ip.txt)'/' /etc/hosts

, не сталкиваясь с проблемами перенаправления.

0
ответ дан 26 September 2013 в 16:14

Мне было трудно это выяснить! (Относительно новичка в Linux.)

В терминале введите sudo -i, затем войдите в систему, используя свой пароль пользователя. Вы будете в корневом каталоге с богоподобными способностями ...:>)

Я также обнаружил, что bash filename.sh запустит скрипт. Прости меня, я чувствую большое чувство выполненного долга, написав сценарий (согласно предложениям в другом посте), который убил всю рекламу на Youtube!

0
ответ дан 26 September 2013 в 16:14

Другие вопросы по тегам:

Похожие вопросы: