Previsão do tempo em cores no terminal

Publicado por Pedro Fernandes (última atualização em 26/09/2019)

[ Hits: 3.971 ]

Download 7013.clima




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.  

  



Esconder código-fonte

#!/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: [email protected]
#
#
########################################
#
#
########################################
#
#
### 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
#
#
########################################
#
#
########################################


Scripts recomendados

Scrip para criação de arquivos em série

Enviar gráficos 2D pela janela de chat no Kopete

Autenticando no Velox Empresarial

Script usado junto com o squid para dedurar usuários.

Instalação do Mplayer e seus Codecs+suporte a GUI.


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário