Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.242 ]
#Desauto_V3.0_brsantos_02/06/15
menu="=======>>Desligamento Automático<<========
|==>Modos de desligamento |
|Temporizado >>T<< [HH:MM; H:M ou MMMM] |
|Agendado >>A<< [H{0..24} M{0..60}] |
|Imediato >>I<< |
=========================================="
menuset1="|==>Modo Selecionado (Temporizado) |"
menuset2="|==>Modo Selecionado (Agendado) |"
echo "$menu"
read modo
if [ $modo = 'I' -o $modo = 'i' ]
then sudo shutdown -v -h -P +0
fi
if [ $modo = 'T' -o $modo = 't' ]
then
clear;echo "$menu"
echo "|==>Setup Temporizado |\n|Quantas horas? |"
read H
clear;echo "$menu"
echo "|==>Setup Temporizado |\n|Quantos minutos? |"
read M
clear;echo "$menu\n$menuset1\n|Iniciado "$(date +%H:%M:%S)"||=======Timer=======|"
elif [ $modo = 'A' -o $modo = 'a' ]
then
clear;echo "$menu"
echo "|==>Setup Agendado |\n|Para que hora? |"
read horaAG
clear;echo "$menu"
echo "|==>Setup Agendado |\n|Para que minuto? |"
read minAG
clear;echo "$menu\n$menuset2\n|Iniciado "$(date +%H:%M:%S)"||=======Timer=======|"
horaA=$(date +%H)
minA=$(date +%M)
if [ $(($horaAG-$horaA)) -lt 0 ]
then
H=$(($horaAG+24-$horaA))
else
H=$(($horaAG-$horaA))
fi
if [ $(($minAG-$minA)) -lt 0 ]
then
M=$(($minAG+60-$minA))
H=$(($H-1))
else
M=$(($minAG-$minA))
fi
else clear;echo "Digite o modo corretamente: T ou t; A ou a; I ou i"
exit
fi
horaA=$(date +%H)
minA=$(date +%M)
seg=$(date +%S)
minF=$M
horaF=$H
if [ $M -gt 60 ]
then
while [ $minF -gt 60 ]
do
minF=$(($minF-60))
horaF=$(($horaF+1))
done
fi
if [ $horaA -lt 10 -a $horaA -gt 0 ]
then
horaP=$(($H+${horaA#*0}))
else
horaP=$(($H+$horaA))
fi
if [ $minA -lt 10 -a $minA -gt 0 ]
then
minP=$(($M+${minA#*0}))
else
minP=$(($M+$minA))
fi
while [ $minP -ge 60 ]
do
minP=$(($minP-60))
horaP=$(($horaP+1))
done
min=$minP
hora=$horaP
if [ $hora -ge 24 ]
then
hora=$(($hora-24))
fi
if [ $min -lt 10 -o $hora -lt 10 ]
then
if [ $min -lt 10 -a $hora -lt 10 ]
then echo "|Hora_Final 0"$hora":0"$min":"$seg"|| "$horaF"H "$minF"M <=="
elif [ $hora -lt 10 ]
then echo "|Hora_Final 0"$hora":"$min":"$seg"|| "$horaF"H "$minF"M <=="
else echo "|Hora_Final "$hora":0"$min":"$seg"|| "$horaF"H "$minF"M <=="
fi
else echo "|Hora_Final "$hora":"$min":"$seg"|| "$horaF"H "$minF"M <=="
fi
Thora=$horaF
Tmin=$minF
Tseg=0
segC=$seg
while [ $Thora$Tmin$Tseg -ne 000 ]
do
segA=$(date +%S)
NsegA=$(date +%N)
if [ $segC -ne $segA ]
then
Tseg=$(($Tseg-1))
segC=$segA
fi
if [ $Tseg -lt 0 ]
then
Tseg=59
Tmin=$(($Tmin-1))
fi
if [ $Tmin -lt 0 ]
then
Tmin=59
Thora=$(($Thora-1))
fi
echo -n "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b|Hora_Atual "$(date +%H:%M:%S)"|| ==> $Thora""H"" $Tmin""M"" $Tseg""S "
done
Tseg=0
sudo shutdown -v -h -P +1
clear
exit
Transforme a manpage do GNU/Linux em PDF
Iniciando Script com o Sistema - Configuração no Debian Wheezy
Shell Script - Imprimindo nome da própria função em execução
Achar ip válido e jogar para uma variável
Economize energia, um bem precioso
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?









