Cálculo de Horas
Publicado por Mauriciodez (última atualização em 20/11/2018)
[ Hits: 6.418 ]
Download 6896.calculo_de_horas.sh
Script para cálculo de horas (adição e subtração) .
Link do projeto: https://github.com/mauriciodez/calculo_de_horas.git
Licença GPLv3.
#!/bin/bash #----------------------------------------------------------------------------------------------------- # # Versão: 1.0 # Arquivo: calculo_de_horas.sh - Soma ou subtrai horas # Escrito por: Maurício G. Paiva # E-mail: mauricimgp@gmail.com # S.O: Debian GNU/Linux 8.11 # Path do Projeto: https://github.com/mauriciodez/calculo_de_horas.git # Licença : GPLv3 # #----------------------------------------------------------------------------------------------------- # Função de escolha "adição" ou "subtração" OP_OPTION () { k=0 while [ $k -eq 0 ]; do echo -e "Você quer somar ou subtrair ?\tsoma [1] || subtração [2]" read op if [ $op -eq 1 -o $op -eq 2 ];then k=1 else clear echo "opção inválida, tente de novo !!! para continuar [enter]" read fi clear done } # Função de Entrada manual de horas. ENT_HOR () { tti=0 i=0 while [ $i -eq 0 ];do read -p "Insira a hora `[[ $tti = 0 ]] && echo "Inicial"||echo "Final"`. [ hhh:mm:ss ] => " ent # Testa o formato horas "hh:mm:ss", se válido converte horas e minuto para segundos. if echo $ent | egrep -q '^([0-9]{2,})[:|.]([0-5][0-9]):([0-5][0-9])$';then hh=$(( 10#`echo $ent | awk -F':' '{print $1}'` * 3600 )) mm=$(( 10#`echo $ent | awk -F':' '{print $2}'` * 60 )) ss=$(( 10#`echo $ent | awk -F':' '{print $3}'` * 1 )) # Testa a posição de entrada. '0' para hora inicial // seta valores para variávels, hora inicial (hi) # e hora final (hf) // soma segundos if [ $tti -eq 0 ] ; then hi=$ent tti=$(( $hh + $mm + $ss )) else hf=$ent ttf=$(( $hh + $mm + $ss )) i=1 fi else echo "Hora Inválida" fi done } # Função que converte segundos para minutos e horas SEG_HOR () { hhf=$(( $tt / 3600 )) mmf=$(( ( $tt - $hhf * 3600 ) / 60 )) ssf=$(( $tt - $hhf * 3600 -$mmf * 60 )) sinal="+ " } # Função inversa que converte segundos para minutos e horas SEG_HOR_INV () { htt=$(( $ttf - $tti )) if [ $htt -gt -3600 ];then hhf=0 else hhf=$(( $htt / -3600 )) fi if [ $htt -gt -60 ];then mmf=0 else mmf=$(( ( $htt + $hhf * 3600 ) / -60 )) fi ssf=$(( $htt * -1 - $hhf * 3600 - $mmf * 60 )) sinal="- " } OP_HORAS () { # Testa se a operação é "adição" ou "subtração" if [ $op -eq 1 ]; then tt=$(echo $(( $ttf + $tti ))) SEG_HOR else if [ $ttf -gt $tti ];then tt=$(echo $(( $ttf - $tti ))) SEG_HOR else SEG_HOR_INV fi fi } # Função para formatar dois digitos FORMATA () { if [ $hhf -lt 10 ];then hhf=`echo "0$hhf"` if [ $mmf -lt 10 ];then mmf=`echo "0$mmf"` if [ $ssf -lt 10 ];then ssf=`echo "0$ssf"` fi fi fi clear } clear echo -e "Calculadora de horas\n" OP_OPTION ENT_HOR OP_HORAS FORMATA echo -e "Hora Inicial => $hi\t\tHora Final => $hf\n" echo "$sinal$hhf:$mmf:$ssf"
Fazendo backup de uma pasta em arquivos separados
Firewall completo com iptables
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO O AMBIENTE
Alta disponibilidade de Links com CentOS 6
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (1)
O que você está ouvindo agora? [2] (180)