Verificando a versão mais recente do Wine via script
Publicado por Paulo Sergio Travaglia 01/02/2008
[ Hits: 8.813 ]
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]"
Inicializando os serviços de OmniBus
Nautilus-Script para assistir imagens ISO de filmes no MPlayer
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









