Previsão do tempo em cores no terminal
Publicado por Pedro Fernandes (última atualização em 26/09/2019)
[ Hits: 5.971 ]
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
#
#
########################################
#
#
########################################
Teste do /admin/scripts Alteração
[Nokia-3g] Configuração do Nokia Internet Stick CS 10
Script simples de backup de arquivos em máquina remota
Converter arquivo em PDF e enviar por e-mail pelo terminal
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (12)
Ubunto não reconhece rede ethernet (0)









