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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]<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