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

Responder a