Выключение Linux с обратным отсчетом.(сделано с какое-то время) - PullRequest
0 голосов
/ 05 декабря 2018

Здравствуйте. Я хочу создать скрипт, который выключает Linux через определенное время (например, 15 секунд) с обратным отсчетом, отображаемым в терминале (Linux выключается через 15 секунд).Это должно быть с какое-то время.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Если вы действительно хотите отобразить счетчик на экране, это будет работать:

#!/bin/bash

seconds=15
echo "Linux is shutting down after ${seconds}s"          
date_1=$((`date +%s` + $seconds))

while [ "$date_1" -ge `date +%s` ]; do
echo -ne "$(date -u --date @$(($date_1 - `date +%s` )) +%H:%M:%S)\r"
     done

echo -e "Do you really want to shutdown the system? Press [Y/y] to shutdown or [n/N] to cancel/exit:" 
read var
if [[ "$var" == "y" ]] || [[ "$var" == "Y" ]]
then
sudo poweroff
elif [[ "$var" == "n" ]] || [[ "$var" == "N" ]]
then
exit 1
fi

В принципе, он примет [Y / y] от пользователя для выключения и [n / N]выйти.

0 голосов
/ 05 декабря 2018

Вы можете использовать следующее:

#!/bin/bash
COUNTER=15
while [ 1 ] 
do
    if [ ${COUNTER} -eq 0 ]
    then
        break
    fi
    echo "Linux is shutting down after ${COUNTER}s."
    sleep 1
    COUNTER=$( echo "${COUNTER}-1" | bc )
done
sudo poweroff
...