#bash #command #non-interactive
#bash #команда #неинтерактивный
Вопрос:
Я хотел бы выполнить следующую команду без взаимодействия:
sudo grep -e "test" /etc/sudoers
Я попробовал следующий метод:
tester@compute:~$ echo 'clouduser' | sudo -S grep -e "test" /etc/sudoers
[sudo] password for tester: test ALL=(ALL) NOPASSWD: ALL
Проблема в том, что я получаю [sudo] password for tester:
перед ответом.
Как я могу вырезать эту часть из начала ответа?
Спасибо!
Ответ №1:
Я отвечу на свой вопрос — возможно, кому-то еще это понадобится:
(echo 'clouduser' | sudo -Si >/dev/null 2>amp;1); sudo grep -e test /etc/sudoers
Ответ №2:
Добавьте следующую строку в свой /etc/sudoers
файл, чтобы включить sudo без пароля. В этом случае я использую john
в качестве учетной записи для входа. Измените свой собственный идентификатор учетной записи.
john ALL=(ALL:ALL) ALL
В качестве альтернативы, и, возможно, лучше, поместить эту строку в файл с именем /etc/sudoers.d/john
.
Комментарии:
1. Спасибо за ваш ответ. Мне нужно было выполнить эту операцию без какого-либо ручного вмешательства раньше. Тем временем я нашел ответ и опубликовал ответ, как это сделать.