Назад | Перейти на главную страницу

Используйте sudo -i в сценарии bash

Я хотел бы написать сценарий bash для выполнения некоторых задач под root при входе в систему как обычный пользователь. Возможно ли такое?

#!/usr/bash

sudo -i

<multiple line perform all my sudo command>
...
...
...
exit

<back to my user command, continue some other task>

Конечно, я могу поместить sudo в каждую строку, но я хотел бы узнать, можно ли сделать что-то подобное выше? Спасибо.

Как насчет чего-нибудь такого простого.

#!/usr/bash
sudo bash << EOF
# Everything until EOF is run in a sub-shell
echo 'Hello World'
whoami
EOF

Вот более простой подход:

#!/usr/bash

sudo sh another_script.sh

<continue some other task>

Вот другой сценарий.

#!/usr/bash
<multiple line perform all my sudo command>
...
...
...

Если вы не хотите добавлять к каждой команде префикс sudo, вы можете просто включить их в другой сценарий и вызвать его.