Controle e Automação
Publicado por Bruno Santos em 15/06/2015
[ Hits: 3.002 ]
#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
Shell Script - Imprimindo nome da própria função em execução
Qual o maior número da variável RANDOM?
Atendimento ou suporte remoto em estações de trabalho via VNC
Convertendo Segundos em Horas Usando Bash
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Linux Mint (21.2) não reconhece teclado mecanico RASEC da PCYES (2)