Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Paulo Sergio Travaglia em 01/02/2008    [ 5192 hits ]

Login: pstglia, 54709 pontos

   


Descrição

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.


[ Download: VerificaUltimaVersaoWine.sh ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

#!/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]"

Scripts recomendados
   Script Linux recomendado Matrix Text Mode
   Script Linux recomendado Backup mysqldump usando Shell Script
   Script Linux recomendado Getcursofe - Download do Curso Fé do Missionário R.R. Soares
   Script Linux recomendado Scanner de portas abertas
   Script Linux recomendado Pesquisa por arquivos redundantes (idênticos)

Comentários
[1] Comentário enviado por chimico em 01/02/2008 - 10:50h:

Cara, gostei muito do seu script, sobretudo da parte que verifica a versão, tô querendo já algum tempo implementar esta função num script meu que baixa o firefox original de br.mozdev.org e transforma em um deb igualzinho ao iceweasel, mas não sabia por onde começar, então verificava manualmente a versão para alterar no script. Valeu


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.