Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.123 ]
#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
Variáveis compostas em shell script
Como exibir números com um largura fixa de caracteres, complentando com zeros a esquerda
Operações matemáticas diretamente pelo bash
Nome de arquivo com espaço dentro de variáveis
Shell Script - Imprimindo nome da própria função em execução
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (7)
Aprendendo mais sobre Linux com livro (6)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (6)