Verificando a versão mais recente do Wine via script
Publicado por Paulo Sergio Travaglia 01/02/2008
[ Hits: 8.752 ]
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]"
SlackBuild para empacotar o Firefox (binário) pro Slackware
Testa DNS da sua conexão e reporta perda(s) de pacotes
Limpar e mostrar tamanho da lixeira no Samba
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?
E aí? O Warsaw já está funcionando no Debian 13? (12)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (3)









