Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.340 ]
#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
Operações matemáticas diretamente pelo bash
Qual o maior número da variável RANDOM?
Usando variáveis para alterar arquivos com sed, *grep e outros
Variável de numero inteiro ou float
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (5)
Instalação do cosmic no archlinux (0)
Formas seguras de instalar Debian Sid [RESOLVIDO] (14)









