Previsão do tempo em cores no terminal
Publicado por Pedro Fernandes (última atualização em 26/09/2019)
[ Hits: 5.726 ]
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 # # ######################################## # # ########################################
Criando uma lixeira p/ o usuário
Apagar arquivos recursivamente de um diretório pela extensão
Zsmb - Script para configurar o Samba
Limpar e mostrar tamanho da lixeira no Samba
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)