Retirar o retorno do comando

1. Retirar o retorno do comando

Rodrigo
rpbiaggio

(usa Outra)

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.


  


2. Re: Retirar o retorno do comando

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

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 ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts