3

на OSX я делаю

sudo route delete default
sudo route add default 192.168.178.1

изменить мой шлюз по умолчанию.

При запуске файла sh с этими файлами меня каждый раз просят ввести пароль. Который я бегу как

sh changegw.sh .

Как я могу передать свой пароль заранее?

2 ответа2

9

Для sudo есть опция -S для принятия пароля от стандартного ввода. Вот мужская запись:

-S          The -S (stdin) option causes sudo to read the password from
            the standard input instead of the terminal device.

Это позволит вам выполнить команду вроде:

echo myPassword | sudo -S ls /tmp
0

Хотя проще всего запустить скрипт от имени пользователя root, вы также можете создать группу в файле sudoers, которая сможет запускать программу без пароля, и добавить свое имя пользователя в эту группу.

Однако я никогда не делал этого лично и не могу рекомендовать конкретную строку для добавления в файл sudoers.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .