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

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

Re: [shell-script] testar se existe um programa


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] testar se existe um programa
Date: Fri, 22 Dec 2006 12:58:25 -0200

existem codigos de retorno que representam problemas comuns:

http://aurelio.net/shell/canivete.html#exitcode

e outros que dependem do programa, alguns trazem no man o que
significa cada um, por exemplo.

o seu codigo estava, digamos, permissivo demais, se o programa não
fosse executado 100% ENC (aka 100% energia na carcaça) vc executaria o
install -- e poderia ser N+1 problemas alem de não ter o tal programa
instalado.

tem opções no rpm e outros gerenciadores de pacotes para ver se algo
está instalado ou não, seria interessante ver e compartilhar com a
lista os teus resultados :)

--------------------------
Aproveitando, um Feliz Natal && Prospero 200{7,8,9,...} à todos da lista!

On 12/22/06, Fernando Zank <address@hidden> wrote:

Tiago,
 em 1º lugar obrigado  pelas explicações , só fiquei um pouco na dúvida ali
 no retorno
 se não exiter ele retorna o 127 ou o 1 ?

 Com o find eu tinha tentado antes, mas  não soube fazer, pois ele mesmo não
 achando o arquivo ele não ia para o código depois do || pois ele executava o
 comando find correto, só não tinha um resultado. Também tinha tentado com o
 whereis, mas sem muito sucesso também., vou dar mais uma olhada aqui nesse
 email e tentar fazer mais uns testes, e obrigado mais uma vez pela ajuda.

 On 12/22/06, Tiago Barcellos Peczenyj <address@hidden> wrote:
 >
 >   Fernando
 >
 > Vc pode fazer isso de 2 formas.
 >
 > 1) existe o comando which, que informa aonde está localizado um dado
 > arquivo executavel dentro do seu $PATH
 >
 > $ which gcc
 > /usr/bin/gcc
 >
 > $ echo $?
 > 0
 >
 > $ which netscape
 > netscape: Command not found.
 >
 > $ echo $?
 > 1
 >
 > dessa forma:
 >
 > $ which comando 2>&- >&- && echo 'existe' || echo 'nao existe'
 >
 > 2) Veja o codigo de retorno,
 >
 > $ lalala
 > bash: lalala: command not found
 >
 > $ echo $?
 > 127
 >
 > este codigo significa Comando não encontrado ("command not found") --
 > o que pode ser bem mais util no seu script. perceba que vc está refém
 > do PATH nesses casos, se quiser algo mais poderoso pode tentar via
 > find ;-)
 >
 >
 > On 12/22/06, Fernando Zank <address@hidden<fernandozank%40gmail.com>>
 > wrote:
 > >
 > >
 > >
 > >
 > >
 > >
 > > Ae pessoal da lista, mais uma vez vou recorrer a vocês para tentar achar
 > uma
 > > solução para o meu problema.
 > >
 > > O Problema é o seguinte , estou fazendo um script em que um determinado
 > > momente quero testar se existe um pacote instalado, caso contrário ele
 > chama
 > > uma função para instalar este pacote.
 > >
 > > Bom vamos ao que interessa hehehe tá mais ou menos assim em determinado
 > > ponto do script.
 > >
 > > código abaixo:
 > >
 > > sp-sc $channel 3908 8908 > /dev/null & || install
 > >
 > > bom eu testei assim dae não funciona no meu caso, não sei se é por causa
 > do
 > > redirecionamento,
 > > mas caso eu tivesse testado outra coisa como cat /arquivo_que_nao_existe
 > ele
 > > executa a função install.
 > >
 > > Agradeço a todos pelas sugestões e soluções.
 > >
 > > --
 > > "Somos o que repetidamente fazemos, portanto a
 > > excelência não é um feito é um hábito" - Aristóteles
 > >
 > > [As partes desta mensagem que não continham texto foram removidas]
 > >
 > >
 >
 > --
 > Tiago B Peczenyj
 > Linux User #405772
 >
 > # cd /pub
 > # more beer
 >
 >
 >

 --
 "Somos o que repetidamente fazemos, portanto a
 excelência não é um feito é um hábito" - Aristóteles

 [As partes desta mensagem que não continham texto foram removidas]




--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

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