Como evitar mensagens de erro durante a execução de um script bash?

1

Eu preciso escrever um script bash que encontrará todos os arquivos com o nome string.h no computador e copiá-los para alguma pasta. Meu código está aqui:

#!/bin/bash
sudo find / -type f -name "string.h" -exec cp {} $HOME/MyDocuments

Mas durante a execução do script, recebo mensagens de erro no terminal do meu terminal "permissão negada". Por favor, me disse, como posso evitar receber esta mensagem? O terminal do console deve estar limpo.

    
por EveresTGrodno 15.05.2017 / 10:48

1 resposta

0

Os erros "permissão negada" são "ok" se sua localização tentar viajar em diretórios onde seu usuário não tem permissão de leitura ou o cp em sua linha tenta gravar em um diretório ao qual você não tem acesso. Você pode suprimi-los redirecionando stderr

#!/bin/bash
sudo find / -type f -name "string.h" -exec cp {} $HOME/MyDocuments \; 2>/dev/null

O padrão 2>/dev/null significa enviar todos os erros para "nenhum lugar" em vez de um erro padrão.

Mas o envio de mensagens de erro para /dev/null não solucionará o erro que seu comando não terá permissão para ler ou escrever.

    
por 15.05.2017 / 13:21