Verificando a versão mais recente do Wine via script
Publicado por Paulo Sergio Travaglia 01/02/2008
[ Hits: 8.931 ]
Download VerificaUltimaVersaoWine.sh
O projeto Wine é bem dinâmico. Em um curto período de tempo são disponibilizadas novas versões (por exemplo, as versões 0.9.50, 9.0.51 e 9.0.52 foram lançadas no período de 1 mês!).
Esse script simples visa obter da página do Wine a versão mais recente e a data de lançamento.
Espero que seja útil na sua finalidade ou para quem quer aprender shell script.
#!/bin/bash
# Um script simples para verificar a versao mais recente do Wine
# 29/12/2007 - Paulo Sergio Travaglia
# Depende de:
# - wget
# - Uma conexao de internet ativa
# - Do layout atual da pagina www.winehq.org :)
#####################################################################################
# [Declaracao de funcoes]
#####################################################################################
# Retorna o numero correspondente ao mes
RetornaNumeroMes()
{
case $1 in
"January") numero_mes="01";;
"February") numero_mes="02";;
"March") numero_mes="03";;
"April") numero_mes="04";;
"May") numero_mes="05";;
"June") numero_mes="06";;
"July") numero_mes="07";;
"August") numero_mes="08";;
"September") numero_mes="09";;
"October") numero_mes="10";;
"November") numero_mes="11";;
"December") numero_mes="12";;
esac
}
# Calcula a quantidade de dias entre a data atual e a informada como parametro
fCalculaDias()
{
# Obtem a quantidade de dias que se passaram ate a data atual (a partir de 01-01-1970)
dias_atual=`date "+%s"`
dias_atual=`expr $dias_atual / 86400`
# Mesmo calculo feito acima, porem para a data informada como parametro
dias_param=`date -d "${1}" "+%s"`
dias_param=`expr $dias_param / 86400`
# Calcula a diferenca entre as duas datas
diferenca=`expr $dias_atual - $dias_param`
}
# Verifica a versao e a data de release mais recente do Wine
fObtemUltimaVersaoWine()
{
link="http://www.winehq.org"
# Testa se o link esta acessivel
wget -q ${link} > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "Nao foi possivel obter a versao de ${link}"
exit 1
fi
# Acessa a pagina do projeto Wine e obtem a versao mais recente
linha_versao=`wget -q -O - "${link}" | grep ": Wine " | grep " Released" | head -n1`
linha_versao=`echo $linha_versao | cut -d">" -f2 | cut -d"<" -f1`
# Separa os campos
mes=`echo $linha_versao | cut -d" " -f1`
RetornaNumeroMes $mes
mes=$numero_mes
dia=`echo $linha_versao | cut -d" " -f2 | sed "s/\,//g"`
dia=`printf "%02d" $dia`
ano=`echo $linha_versao | cut -d" " -f3 | sed "s/\://g"`
versao=`echo $linha_versao | cut -d":" -f2 | cut -c6-13 | sed "s/ //g"`
}
#####################################################################################
# [Logica principal (se fosse C, isso seria um main...)]
#####################################################################################
fObtemUltimaVersaoWine
fCalculaDias ${ano}${mes}${dia}
echo "A versao mais recente do Wine e: ${versao}"
echo "Release: $dia/$mes/$ano [${diferenca} dia(s) atras]"
Adicionando Chaves de Repositórios Facilmente
Advix - controle de processos judiciais para advogados
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Gerenciamento de Vídeo Híbrido (Intel/NVIDIA) via nvidia-prime no Ubuntu e derivados
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Entendendo o Maven com JavaFX (0)
Tive um problema ao abrir minha partição Btrfs. Como posso resolver is... (1)
Enquete: qual bloco de código C++ é mais legível? (4)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (11)









