shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] versao do freepascal


From: moysespr
Subject: Re: [shell-script] versao do freepascal
Date: Mon, 24 Nov 2003 17:46:56 -0800 (PST)

Quando daquela postagem vieram-me à cabeça "n" problemas que já senti pela
forma como é feita essa representação. Determinar a maior, a menor, selecionar
a recente em listagens de ftp,etc. Isso sem falar na obtenção da versão de um
simples binário avulso. Isso para processamento eletrônico lógicamente; para
leitura humana passa.

Adicionalmente, hoje muitas versões parece que não têm mais significado em seus
algarismos; veja o caso das distribuições linux, conhecidas pularam de 8.x+1
para 9.0. Aí foi uma febre! Pareceu-me uma questão de moda, ninguém quer ter um
número baixo.

Como parece que a tua questão é com o freepascal apenas, fica mais fácil.
Tomara que a forma de obtenção se mantenha ao longo do tempo. E você já sabe
como fazer isso hoje. Daí pensei na transformação da sua versão em um lindo
número inteiro com comprimento fixo. Experimente brincar com isto que te passo
digitando na linha de comando "ver sua.ver.são":

-----ver (nome do script)
v='';vp=''
for x in 1 2 3 4 5;do
 vp=`echo $1|cut -d. -f $x`
 [ $vp ]||break
 v=$v$(printf "%02i" $vp)       # 2 é o núm.algarimos decimais
done                            # para cada algarimo da versão
echo $v
-----
Exemplo:
  ver 2.5.13   # se tiver letras no meio, esta proposta não serve.
020513

Com este resultado é só voltar à velha e simples "aritmética" do primeiro grau
e pronto!

Espero não ter esquecido algum aspecto inviabilizante desta solução.

Seu fornecedor poderia mudar o número de algarismos de versão? Exemplifiquei
com três; poderia saltar para 4? Pense nisso! Você poderá ver pelo script que é
possível ter qualquer número de algarismos de versão e qualquer quantidade de
algarismos decimais por algarismo de versão, é só alterar no script.

Talvez um dia as versões sejam assim: 2003112423 ou 031124
Se esse dia chegar, os softwares estarão gerenciando esse detalhes e nós
estaremos nos preocupando com coisas mais interessantes. :)


--- Felipe Amadeu Junges <address@hidden> wrote:
> bom dia lista
> 
> esses dias eu perguntei como eu passaria a versao do freepascal pruma 
> variavel
> 
> eu estou tendo problemas para comparar as versoes, jah que elas sao 
> compostas de 3 partes (ex 1.0.10)
> eu sei como pegar a casa mais significativa e a menos
> 
> como eu pego a casa do meio?
> 
> 1.0.10 - versao
> 
> 1 - mais
> 0 - meio
> 10 - menos
> 
> esse eh o codigo que eu peguei aqui na lista
> 
> 
> v=$(fpc -iV)
> 
> echo versao: $v
> echo mais significativo: ${v%%.*}
> echo menos significativo: ${v##*.}
> 
> valeu desde jah!!
> abraco!
> 
> 
> -- 
> Felipe Amadeu Junges
> GNU/Linux User #328656
> 
> --- Slackware GNU/Linux 9.1 - KDE 3.1.1 ---
> 
> o address@hidden
> o www.sl-linux.org
> 
> o address@hidden
> o www.dezinfo.com.br
> 
> Get out of Matrix, use GNU/Linux!
> 
> 
> 


__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]