Цель состоит в том, чтобы перезагрузить компьютер, если он не получает команду прерывания от пользователя. Проблема заключается в том, что при настройке терминалов пользователь должен предоставить пароль SU для команд shutdown
, init
, reboot
и т.д. Мы задаемся вопросом, возможно ли ввести пароль в самом bash-скрипте, возможно, используя stdin.
то есть:
#!/bin/bash
# (script)
echo "Terminal will restart in 60s, Ctrl+C to cancel."
sleep 60
su - root -c "init 6" < "password"
Мы попытаемся поместить пароль в файл и ввести его.
Изменить: sudo
и expect
, как решения, так как их установка будет невозможна из-за огромного количества документов для получения разрешения и ограниченного периода времени. Также мы хотели бы использовать init 6
или shutdown -r
вместо reboot
.