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

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

Re: [shell-script] pegando versoes de programas instalados


From: moysespr
Subject: Re: [shell-script] pegando versoes de programas instalados
Date: Wed, 8 Oct 2003 15:46:54 -0700 (PDT)

Eis uma solução, com o seu exemplo:
----
ver=`wget --version 2>/dev/null|head -n 1|cut -d" " -f 3`
echo $ver
----
Se a variável "ver" ficar vazia o wget não está no PATH
(provavelmente não está instalado), caso contrário "ver" deverá ser a
versão.

O problema é que cada programa vai te informar a versão em um ponto
do cabeçalho e muitos nem aceitam o parâmetro --version. Com isso a
coleta automática fica complicada.

Um contorno, parcial, para isto é você parametrizar uma função.
Experimente este scriptzinho:
---
ver(){
$1 --version 2>/dev/null|head -n $2|cut -d" " -f $3
}
ver wget 1 3
ver grep 1 4
# Comando condicional
[ "`ver awk 1 3`" == "1.3.4" ]|| echo Versão awk não é 1.3.4,
fazer...
---

Só que cada programa que você quiser testar vai ter que por na
listinha. Se o mantenedor do programa alterar a posição onde informa
a versão, está criado um problema. Resumindo, se você quer uma
solução para qualquer programa, sem ter de mencioná-lo na lista, isto
não serve. Para uma quantia grande também não seria prático.

Se você faz tudo certinho e só usa pacotes no formato do seu
distribuidor a solução já citada por outro colega é a melhor opção.
Eu costumo complilar tudo e não crio os pacotes Slackware, daí fico
na mão, mas sei que a culpa é minha. :)

Até que pinte um resposta para RH você poderia ir ganhando tempo com
o Google, colocando palavras adequadas e, em portugues, como você
prefere. É um bom exercício de detetive.

Espero que a resposta não seja totalmente inútil.



--- redhate <address@hidden> wrote:
> Caro amigos da lista,
>     estou com um probleminha, quero fazer um .sh para saber se um 
> determinado programa estar instalado em meu computador e pegar com
> isso 
> a versao dele,
>     para pegar o programa  eh: if test `which wget 2>/dev/null | wc
> -l ` 
> -eq 0; then
>     e para saber a versao?
>      alguem sabe onde posso encontrar algo falando sobre isso, se 
> possivel em pt-br
> 
>                    Agradeco.
> 
> 
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com


reply via email to

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