Как контролировать состояние последовательности выключения

Это скрипт, который я сделал для блокировки и выключения моей системы через 30 минут.

#!/bin/bash
# Read Password
read -s -p "Password: " password
echo
# shutdown and screensaver Command
echo "$password" | sudo -kS shutdown -h +30 &
gnome-screensaver-command -a &
read -p "Press any key to continue... " -n1 -s 

Проблема с этим сценарием в том, что иногда он не выключается даже через 30 минут.

Вот почему я добавил команду read в конце - чтобы отслеживать состояние последовательности выключения, а также окно прогресса. Но этот сценарий показывает только состояние начальной минуты

, например:

Broadcast message from root@eka-PC
    (unknown) at 10:31 ...

The system is going down for halt in 30 minutes!

он не показывает ход выключения.

РЕДАКТИРОВАНИЕ:

Я также обнаружил эту ошибку в приведенном выше сценарии. Если введен неправильный пароль, система заблокируется без предупреждения. Можно ли дать условный оператор в команде выключения. Я пробовал это

SHUTDOWN=$(echo "$password" | sudo -kS shutdown -h +30 &);
if [[ $SHUTDOWN -eq 0]]
then
gnome-screensaver-command -a &
read -p "Press any key to continue... " -n1 -s 
fi

Он активирует только выключение, но не заставку


РАБОЧИЙ СЦЕНАРИЙ

Не найдено решение для проверки выключения (echo "$password" | sudo -kS shutdown -h +30 &), поэтому я попытался обойти эту проблему, дважды подтвердив пароль. Это рабочий скрипт

#!/bin/bash

red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`

echo "Activate screensaver and shutdowns the system in 30 minutes";
# Read Password
shut()
{
read -s -p "Password: " password1
read -s -p "Confirm Password: " password
echo
# Run Command
if [ "$password1" == "$password" ]
then
echo "$password" | sudo -kS shutdown -h +30 &
gnome-screensaver-command -a &
read -p "`echo  

Добавлен дополнительный код форматирования текста и код отмены завершения работы также в вышеупомянутый скрипт.

Если вы также хотите активировать музыкальный проигрыватель (например, Rhytmbox), то после gnome-screensaver-command -a & добавьте этот код rhythmbox-client --play &

Любое предложение приветствуется

\n> \n>'` ${green} To cancel shutdown, press C ${reset}`echo

Добавлен дополнительный код форматирования текста и код отмены завершения работы также в вышеупомянутый скрипт.

Если вы также хотите активировать музыкальный проигрыватель (например, Rhytmbox), то после gnome-screensaver-command -a & добавьте этот код rhythmbox-client --play &

Любое предложение приветствуется

\n> \n>'`" prompt if [[ $prompt =~ [cC](es)* ]] then echo "$password" | sudo -kS shutdown -c read -p "`echo

Добавлен дополнительный код форматирования текста и код отмены завершения работы также в вышеупомянутый скрипт.

Если вы также хотите активировать музыкальный проигрыватель (например, Rhytmbox), то после gnome-screensaver-command -a & добавьте этот код rhythmbox-client --play &

Любое предложение приветствуется

\n> \n>'`${red} Shutdown Cancelled ${reset}" -n1 -s fi else echo -e "\n${red} Wrong Password ${reset}, Re enter the password" shut fi } shut

Добавлен дополнительный код форматирования текста и код отмены завершения работы также в вышеупомянутый скрипт.

Если вы также хотите активировать музыкальный проигрыватель (например, Rhytmbox), то после gnome-screensaver-command -a & добавьте этот код rhythmbox-client --play &

Любое предложение приветствуется

2
задан 20 May 2015 в 20:49

2 ответа

Этот сценарий управляет таймером завершения работы с помощью sleep и цикл.

#!/bin/bash
# Read Password
read -s -p "Password: " password
echo
# Send messages
for i in {0..5}
do
    echo "Shutdown in" $((30- i * 5)) "minutes"
    sleep 300
done
echo "Shutdown now" | wall
# shutdown and screensaver Command
echo "$password" | sudo -kS shutdown -h +30 &
gnome-screensaver-command -a &
read -p "Press any key to continue... " -n1 -s
0
ответ дан 20 May 2015 в 20:49

Вместо этого Вы могли использовать at команда. Установите его с

sudo apt-get install at

И работайте

sudo echo "shutdown -h now"|at  now + 30 min
0
ответ дан 20 May 2015 в 20:49

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

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