Previsão do tempo em cores no terminal
Publicado por Pedro Fernandes (última atualização em 26/09/2019)
[ Hits: 5.698 ]
Homepage: https://github.com/PedroF37
Pequeno script que usa o programa wttr.in e o curl para fornecer a previsão do tempo em cores no terminal.
Sem fornecer parâmetro, fornece a previsão na localidade do usuário. Digitando "./clima cidade", fornece a previsão para a cidade especificada.
O script usa o ping para testar se tem conexão. Caso tenha problemas ao usar o ping como usuário normal (não root), no cabeçalho do script está detalhado como (espero) pode resolver.
Para se especificar nomes de cidades com espaços, como "Rio de Janeiro", a página do wttr.in informa que se tem que usar sinal de + no lugar dos espaços.
Como um dos objetivos do terminal e dos scripts é digitar o mínimo possível, para escolher uma cidade com espaços como Rio de Janeiro, o script usa o "$*",
para permitir que se possa digitar o bendito Rio de Janeiro sem ter que colocar + em cada espaço.
#!/bin/bash # # ######################################## # # Título: clima # # Descrição: # # Pequeno script, que usa o programa wttr.in e # o curl para fornecer a previsão do clima no terminal. # # Funcionamento: # # Primeiro verifica a conexão, se não tiver aborta. # Caso tenha conexão então, imprime a previsão do # tempo usando o curl e o wttr.in. # Para verificar o clima na sua localidade, basta # digitar clima sem parâmetro, e, para verificar o # clima em outra cidade qualquer, digite clima # mais o nome da cidade como parâmetro. # Se precisar de ajuda com o script, usar: # clima -h para chamar a função: uso (de ajuda). # # Mais detalhes sobre o wttr.in para modificar # o script ou qualquer outra coisa: # "https://github.com/chubin/wttr.in" # # A página mostra muitas opções bacanas para tornar # o script melhor, incluindo como verificar o clima # em várias cidades de uma só vez. # # Observações: # # 1- O nível de exatidão da previsão, está # relacionado com o wttr.in e não com este script. # # 2- O script usa o ping para verificar a # conexão. # O usuário albfneto, mencionou # problemas em rodar outro script meu chamado # status como usuário normal, o qual usa # também o ping. # Ao que parece na distribuição sabayon, # o usuário comum não pertence ao grupo bin # que é onde se encontra o ping. # # Se o comando ping falhar neste script: # # 1 - ver se o bin (ou onde estiver o ping) # está no PATH. # 2 - ver se o usuário pertence ao grupo bin # 3 - pode-se marcar o bit setuid no ping # 4 - quando não há nada a fazer, o root # pode tudo. # # Autor: Pedro fernandes # # Email: pedrobfernandes32@protonmail.com # # ######################################## # # ######################################## # # ### Função ajuda ####################### # # uso () { echo " $(basename "$0"): uso: $(basename "$0") [ -h (esta ajuda) ] [ localidade ] Pequeno script que verifica a previsão do clima. Chamando apenas o script sem parâmetro, este verifica a previsão na sua localidade. Você também pode passar uma cidade como parâmetro para verificar o clima nessa cidade. O script usa o programa wttr.in e o curl para pegar os dados do clima. Exemplos de uso: Para verificar o clima em Lisboa, (é em Portugal, não Espanha !!!): $ clima Lisboa Para verificar o clima no Rio de Janeiro: $ clima Rio de Janeiro Para verificar o clima na minha localidade (Ferraz de Vasconcelos): $ clima Neste último caso ele usa o meu ip para fornecer a previsão. Sendo assim não preciso digitar o nome da minha cidade. " sleep 2 exit } # # ######################################## # # ### Começando ########################## # # ### Chamando funçao ajuda ############## # # if [[ "$1" == "-h" ]]; then clear uso fi # # ### Vamos ver se tem conexao ############## echo -e "\nVerificando se tem conexão......" sleep 2 if ! ping -c 1 8.8.8.8 &> /dev/null; then clear echo "Está desconectado. Cancelando......" sleep 2 exit else clear echo -e "\nConexão encontrada. Prosseguindo......" sleep 2 fi # # ### Como que fomos chamados ############ # # if [[ -z "$1" ]]; then echo -e "\nVerificando previsão do clima, usando seu ip externo e o programa wttr.in......" sleep 4 curl wttr.in/?lang=pt else echo -e "\nVerificando previsão do clima para "$*" usando o programa wttr.in......" sleep 2 curl wttr.in/"$*"?lang=pt fi sleep 2 exit # # ######################################## # # ########################################
Slackpkg: Spinning Bar (barra giratória)
Relógio psicodélico em modo texto
Nenhum comentário foi encontrado.
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Tentando instalar o Ekattor School no xampp (5)
Definir tempo limite para acesso ssh (4)
Problema instalação do sige software gestão escolar script gratuito (0)
[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