Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.350 ]
#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
Números aleatórios em shell script
DictConv: Converta dicionários do Babylon para o StarDict
Concatene com o Bash e fique contente!
Site com várias dicas de ajuda para shell script
Transforme a manpage do GNU/Linux em PDF
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Instalar Dual Boot, Linux+Windows. (8)
Eaí? Já programou no windows? (2)
Erro ao enviar arquivos para o Storage Synology NAS (0)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









