Pular para o conteúdo

Retirar o retorno do comando

Responder tópico
  • Denunciar
  • Indicar

1. Retirar o retorno do comando

Enviado em 29/10/2015 - 18:16h

Pessoal,

Tenho um shell que executa um ls em uma mascara e diretorio conforme abaixo:

qtde=`ls $mascara | grep -v total | wc -l ` 
O problema é que quando não existe nenhum arquivo ele me retorna

ls: *.arquivo: No such file or directory

Eu coloco no meu shell que se não for encontrado nenhum arquivo ele deve me retornar Não foram encontrados arquivos.

O problema é que quando tenho essa condição eu tenho o retorno com as duas msgs e não quero. Preciso apenas o retorno que eu configurei e não do retorno da execução do comando.

Não sei se consegui explicar mas se alguém souber como retiro essa retorno para não aparecer na execução do script.

Obrigado.

Responder tópico

2. Re: Retirar o retorno do comando

Enviado em 29/10/2015 - 18:26h

Olá,

Basta adicionar 2> /dev/null ao final do comando. Isso fara com as saidas de erros sejam redirecionadas para /dev/null, ou seja, pro buraco negro. rs . Por exemplo:

ls arquivo* 2> /dev/null 
Mas se quiser testar se o comando executado foi bem sucedido, use o $?
Por exemplo:

Bem sucedido:
ls arquivo_existente
echo $?
ele devera retornar 0

Mal sucedido:
ls arquivo_que_nao_existe
echo $?
ele deve retornar 1

abs

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder