Alarm NOW!
Publicado por Eder S. G. 19/01/2006
[ Hits: 9.191 ]
Homepage: http://edersg.wordpress.com
O Alarm NOW é um alarme, ou seja, um despertador, que você configura uma data, hora, uma mensagem que aparecerá na tela do seu monitor e ainda o número de beeps sonoros que o alarme soará. Este software foi a solução que encontrei para não perder/esquecer o horário para acordar.
#!/bin/bash # # alarm_now.sh - Soa um ou mais alarmes (beeps) em uma data/hora especifica. # # Autor ........: Eder S. G. (JORDAM) <ederjordam@yahoo.com.br> # Mantenedor ...: Eder S. G. (JORDAM) <ederjordam@yahoo.com.br> # WebSite ......: http://geocities.yahoo.com.br/ederjordam # # --------------------------------------------------------------------- # # Licença de utilização # --------------------- # O Alarm NOW está licenciado de acordo com as normas da GPL, ou seja, # ele é um software de livre distribuição. # # # Descrição do Alarm NOW # ---------------------- # O Alarm NOW é um alarme, ou seja, um despertador, que você configura uma # data, hora, uma mensagem que aparecerá na tela do seu monitor e ainda # o número de beeps sonoros que o alarme soará. # # Este software foi a solução que encontrei para não perder/esquecer o # horário para acordar. Você pode utilizar o Alarm NOW para: # - te lembrar do horário de acordar; # - te lembrar do horário de ir trabalhar; # - te lembrar do horário do lanche; # - te lembrar do horário do almoço; # - te lembrar do horário de uma reunião; # - te lembrar do horário de sair do trabalho; # - te lembrar do horário de outros compromissos. # # Para seu perfeito funcionamento, o Alarm NOW necessita do software # 'beep' cujo autor é Johnathan Nightingale <johnath@johnath.com>. Se # você estiver utilizando o sistema operacional Debian GNU/Linux, instale # o software 'beep' digitando o comando (estando logado com o usuário root): # apt-get install beep # ou # aptitude install beep # # # Como utilizar o Alarm NOW # ------------------------- # Citarei abaixo duas formas para se utililizar o Alarm NOW: # # - 1ª forma: Estando no ambiente gráfico (GUI) do GNU/Linux # Estando logado com seu usuário comum/convencional (ou seja, que # não seja o usuário root) em um ambiente gráfico como o KDE, Gnome, # WindowMaker, BlackBox, IceWM e outros, abra/rode/execute um software # emulador de terminal como o eterm, aterm, rxvt, xterm, konsole, # gnome-terminal etc; # # Acesse o diretório (também conhecido como pasta) onde está localizado # o arquivo 'alarm_now.sh'; # # Digite o comando 'ls -lh' para checar se o arquivo 'alarm_now.sh' está # mesmo no diretório que você está atualmente. A saída do comando 'ls -lh' # deverá se parecer (similar) como abaixo: # # -rw-r--r-- 1 edersg edersg 11K 2005-08-13 10:19 alarm_now.sh # # Para abrir/rodar/executar o programa Alarm NOW, digite o comando: # # sh alarm_now.sh # # A tela inicial do Alarm NOW deverá deverá se parecer (similar) como # abaixo: # # +----------------------------------------------------------------+ # | Alarm NOW 1.0 - Por: Eder S. G. <ederjordam@yahoo.com.br> | # +----------------------------------------------------------------+ # # PARTE 1: Dados referentes a data do alarme # ------------------------------------------ # Você deseja utilizar a data atual, ou seja, 13/08/2005? # Digite 1 para SIM ou 2 para NÃO e logo após, tecle ENTER # # Para prosseguir, digite 1 para utilizar a data atual ou 2 para # que você mesmo possa configurar a data do alarme. Neste exemplo, # escolhi a opção 1 (vou utilizar a data atual no alarme). Não se # esqueça de pressionar a tecla ENTER. # # Na segunda parte, você irá configurar os dados referentes ao horário # que o alarme soará, uma mensagem que será exibida na tela de seu # monitor e o número de vezes que você quer ouvir o alarme. # # PARTE 2: Dados referentes ao horário do alarme # ---------------------------------------------- # Por favor, digite um número (de 0 a 23) referente as horas: # 10 # # Por favor, digite um número (de 0 a 59) referente aos minutos: # 35 # # Por favor, digite uma mensagem que será exibida na hora do alarme: # Hora do lanche!!! # # Por favor, digite o número de vezes que você quer ouvir o alarme: # 5 # # Depois de preencher/completar estes dados, o alarme estará configurado. # Se tudo ocorreu perfeitamente, você deverá visualizar informações # parecidas (similares) como abaixo: # # Alarm NOW 1.0 funcionando! # -------------------------- # Data e hora da configuração ......: 13/08/2005-10:30 # Data e hora que o alarme soará ...: 13/08/2005-10:35 # Número de beeps que você ouvirá ..: 5 beeps # # Para cancelar e sair do programa, por favor, pressione CTRL + D # # Quando o relógio do sistema chegar às 10:35, a mensagem abaixo # deverá aparecer/surgir na tela de seu monitor: # # Alarm NOW 1.0 : Hora do lanche!!! # # 5 ... 4 ... 3 ... 2 ... 1 ... # # Obrigado por utilizar o Alarm NOW 1.0. # Eder S. G. <ederjordam@yahoo.com.br> # # O Alarm NOW cumpriu sua tarefa. Espero que este software seja útil # para você. # # - 2ª forma: Estando no ambiente texto (SHELL) do GNU/Linux # Efetue logon utilizando seu usuário comum/convencional, ou seja, que # não seja o usuário root; # # Acesse o diretório (também conhecido como pasta) onde está localizado # o arquivo 'alarm_now.sh'; # # Digite o comando 'ls -lh' para checar se o arquivo 'alarm_now.sh' está # mesmo no diretório que você está atualmente. A saída do comando 'ls -lh' # deverá se parecer (similar) como abaixo: # # -rw-r--r-- 1 edersg edersg 11K 2005-08-13 10:19 alarm_now.sh # # Para abrir/rodar/executar o programa Alarm NOW, digite o comando: # # sh alarm_now.sh # # A tela inicial do Alarm NOW deverá deverá se parecer (similar) como # abaixo: # # +----------------------------------------------------------------+ # | Alarm NOW 1.0 - Por: Eder S. G. <ederjordam@yahoo.com.br> | # +----------------------------------------------------------------+ # # PARTE 1: Dados referentes a data do alarme # ------------------------------------------ # Você deseja utilizar a data atual, ou seja, 13/08/2005? # Digite 1 para SIM ou 2 para NÃO e logo após, tecle ENTER # # Para prosseguir, digite 1 para utilizar a data atual ou 2 para # que você mesmo possa configurar a data do alarme. Neste exemplo, # escolhi a opção 1 (vou utilizar a data atual no alarme). Não se # esqueça de pressionar a tecla ENTER. # # Na segunda parte, você irá configurar os dados referentes ao horário # que o alarme soará, uma mensagem que será exibida na tela de seu # monitor e o número de vezes que você quer ouvir o alarme. # # PARTE 2: Dados referentes ao horário do alarme # ---------------------------------------------- # Por favor, digite um número (de 0 a 23) referente as horas: # 10 # # Por favor, digite um número (de 0 a 59) referente aos minutos: # 35 # # Por favor, digite uma mensagem que será exibida na hora do alarme: # Hora do lanche!!! # # Por favor, digite o número de vezes que você quer ouvir o alarme: # 5 # # Depois de preencher/completar estes dados, o alarme estará configurado. # Se tudo ocorreu perfeitamente, você deverá visualizar informações # parecidas (similares) como abaixo: # # Alarm NOW 1.0 funcionando! # -------------------------- # Data e hora da configuração ......: 13/08/2005-10:30 # Data e hora que o alarme soará ...: 13/08/2005-10:35 # Número de beeps que você ouvirá ..: 5 beeps # # Para cancelar e sair do programa, por favor, pressione CTRL + D # # Quando o relógio do sistema chegar às 10:35, a mensagem abaixo # deverá aparecer/surgir na tela de seu monitor: # # Alarm NOW 1.0 : Hora do lanche!!! # # 5 ... 4 ... 3 ... 2 ... 1 ... # # Obrigado por utilizar o Alarm NOW 1.0. # Eder S. G. <ederjordam@yahoo.com.br> # # O Alarm NOW cumpriu sua tarefa. Espero que este software seja útil # para você. # # --------------------------------------------------------------------- # # Histórico de desenvolvimento # ---------------------------- # v1.0 ALPHA - 11/08/2005 - Eder S. G.: # - Escolhido o nome para este software: 'Alarm NOW'. # - Versão instável do alarm_now.sh. # - Testes iniciais realizados por Adriano C. M. foram positivos. # v1.0 BETA - 12/08/2005 - Eder S. G.: # - Realizado testes para verificar o que o usuário poderá digitar. # - Testes iniciais realizados por Tales A. M. # v1.0 FINAL - 13/08/2005 - Eder S. G.: # - Lançamento da versão final. # Variaveis gerais #################################################### # Armazena o nome do software nome_software="Alarm NOW"; # Armazena a versão do software versao_software="1.0"; # Armazena o nome do desenvolvedor do software desenvolvedor_software="Eder S. G. <ederjordam@yahoo.com.br>"; clear; # Limpa a tela echo "+----------------------------------------------------------------+"; echo "| $nome_software $versao_software - Por: $desenvolvedor_software |"; echo "+----------------------------------------------------------------+"; echo ""; # Gera uma linha em branco echo "PARTE 1: Dados referentes a data do alarme"; echo "------------------------------------------"; echo "Você deseja utilizar a data atual, ou seja, `date +%d/%m/%G`? "; echo "Digite 1 para SIM ou 2 para NÃO e logo após, tecle ENTER"; read utilizar_data_atual; # Armazena o valor digitado pelo usuário na variável 'utilizar_data_atual' if [ "$utilizar_data_atual" = "1" ]; then # Se o conteúdo de 'utilizar_data_atual' for igual a 1 então... dia=`date +%d`; # Obtem o dia (01 até 31) mes=`date +%m`; # Obtem o mês (01 até 12) ano=`date +%G`; # Obtem o ano (2005) else if [ "$utilizar_data_atual" = "2" ]; then # Senão se o conteúdo de 'utilizar_data_atual' for igual a 2 então... echo ""; # Gera uma linha em branco echo "Por favor, digite um número (de 1 a 31) referente ao dia:"; read dia; # Armazena o dia digitado pelo usuário na variável 'dia' if [ "$dia" -lt 1 ] || [ "$dia" -gt 31 ]; then # Se 'dia' for menor que 1 ou maior que 31 então... echo "Atenção! $dia é uma opção inválida."; exit; # Termina/encerra a execução do software else case "$dia" in [1-9]) # Se o valor armazenado na variável 'dia' estiver entre 1 e 9 dia=0${dia}; # A variável 'dia' receberá o valor 0 acrescido do proprio número que o usuário digitou ;; esac # fim do comando 'case' fi # fim do comando 'if' echo ""; # Gera uma linha em branco echo "Por favor, digite um número (de 1 a 12) referente ao mes:"; echo "1 é referente ao mês de JANEIRO"; echo "2 é referente ao mês de FEVEREIRO"; echo "3 é referente ao mês de MARÇO"; echo "..." echo "10 é referente ao mês de OUTUBRO"; echo "11 é referente ao mês de NOVEMBRO"; echo "12 é referente ao mês de DEZEMBRO"; read mes; # Armazena o mês digitado pelo usuário na variável 'mes' if [ "$mes" -lt 1 ] || [ "$mes" -gt 12 ]; then # Se 'mes' for menor que 1 ou maior que 12 então... echo "Atenção! $mes é uma opção inválida."; exit; # Termina/encerra a execução do software else case "$mes" in [1-9]) # Se o valor armazenado na variável 'mes' estiver entre 1 e 9 mes=0${mes}; # A variável 'mes' receberá o valor 0 acrescido do proprio número que o usuário digitou ;; esac # fim do comando 'case' fi # fim do comando 'if' echo ""; # Gera uma linha em branco echo "Por favor, digite um número (2005) referente ao ano:"; read ano; # Armazena o ano digitado pelo usuário na variável 'ano' if [ "$ano" -lt 2005 ] || [ "$ano" -gt 2029 ]; then # Se 'ano' for menor que 2005 ou maior que 2029 então... echo "Atenção! $ano é uma opção inválida."; exit; # Termina/encerra a execução do software fi else # Senão... echo "Atenção! $utilizar_data_atual é uma opção inválida."; exit; # Termina/encerra a execução do software fi # fim do 'else if' fi # fim do comando 'if' principal echo ""; # Gera uma linha em branco echo "PARTE 2: Dados referentes ao horário do alarme"; echo "----------------------------------------------"; echo "Por favor, digite um número (de 0 a 23) referente as horas:"; # Exibe a frase na tela read hora; # Armazena a hora digitado pelo usuário na variável 'hora' if [ "$hora" -lt 0 ] || [ "$hora" -gt 23 ]; then # Se 'hora' for menor que 0 ou maior que 23 então... echo "Atenção! $hora é uma opção inválida."; exit; # Termina/encerra a execução do software else # Senão... case "$hora" in [0-9]) # Se o valor armazenado na variável 'hora' estiver entre 0 e 9 hora=0${hora}; # A variável 'hora' receberá o valor 0 acrescido do proprio número que o usuário digitou ;; esac fi # fim do comando 'if' echo ""; # Gera uma linha em branco echo "Por favor, digite um número (de 0 a 59) referente aos minutos:"; read minuto; # Armazena o minuto digitado pelo usuário na variável 'minuto' if [ "$minuto" -lt 0 ] || [ "$hora" -gt 59 ]; then # Se 'minuto' for menor que 0 ou maior que 59 então... echo "Atenção! $minuto é uma opção inválida."; exit; # Termina/encerra a execução do software else # Senão... case "$minuto" in [0-9]) # Se o valor armazenado na variável 'minuto' estiver entre 0 e 9 minuto=0${minuto}; # A variável 'minuto' receberá o valor 0 acrescido do proprio número que o usuário digitou ;; esac fi # fim do comando 'if' echo ""; # Gera uma linha em branco echo "Por favor, digite uma mensagem que será exibida na hora do alarme:"; read mensagem_alarme; # Armazena a mensagem digitada pelo usuário na variável 'mensagem_alarme' if [ -z "$mensagem_alarme" ]; then # Se o usuário não digitou nenhuma mensagem então... mensagem_alarme="BEEP! BEEP! BEEP!"; # A mensagem padrão será: 'BEEP! BEEP! BEEP!' fi # fim do comando 'if' echo ""; # Gera uma linha em branco echo "Por favor, digite o número de vezes que você quer ouvir o alarme:"; read quantidade_de_beeps; # Armazena o número de vezes que o usuário deseja ouvir o alarme # Para saber se o conteudo de uma variavel é numero ou nao if ! expr $quantidade_de_beeps + 1 > /dev/null 2> /dev/null; then echo "Atenção! $quantidade_de_beeps é uma opção inválida."; exit; # Termina/encerra a execução do software fi echo ""; # Gera uma linha em branco clear; # Limpa a tela # A variável 'dia_alarme' armazenará o dia, mes, ano, hora e minuto dia_alarme="$dia/$mes/$ano-$hora:$minuto"; echo "$nome_software $versao_software funcionando!" echo "--------------------------"; echo "Data e hora da configuração ......: `date +%d/%m/%G-%H:%M`"; echo "Data e hora que o alarme soará ...: $dia_alarme"; echo "Número de beeps que você ouvirá ..: $quantidade_de_beeps beeps"; echo ""; # Gera uma linha em branco echo "Para cancelar e sair do programa, por favor, pressione CTRL + C"; echo ""; # Gera uma linha em branco numero=1; # Para acessar o loop while e deixar o software rodando while [ "$numero" = 1 ] # Enquanto 'numero' for igual a 1 do # faça if [ "$dia_alarme" = `date +%d/%m/%G-%H:%M` ]; then # Se 'dia_alarme' for igual a data e hora atual então... echo "$nome_software $versao_software : $mensagem_alarme"; echo ""; # Gera uma linha em branco while [ 1 -le "$quantidade_de_beeps" ] # Enquanto 1 for menor ou igual a 'quantidade de beeps' do # faça echo -n "$quantidade_de_beeps ... "; # Vai exibindo o numero de beeps beep -f 400 -l 400; # Soa um beep sleep 3; # Aguarda 3 segundos... quantidade_de_beeps=`expr $quantidade_de_beeps - 1`; # Decrementa em 1 a variável 'quantidade_de_beeps' done # concluído echo ""; # Gera uma linha em branco echo ""; # Gera uma linha em branco echo "Obrigado por utilizar o $nome_software $versao_software."; echo "$desenvolvedor_software"; echo ""; # Gera uma linha em branco exit; # Termina/encerra a execução do software fi # fim do comando 'if' sleep 20; # De 20 em 20 segundos, o loop será executado done # concluído
zswapdeslig.sh - Um "Desligador" de ZSWAP, SWAP em RAM para Sabayon Linux
Script de monitoramento de host por icmp (ping )
PkgBuild - um gerenciador de construção de pacotes
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Preciso resolver um erro de DPKG (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (2)
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta