O comando cp do Linux não é silencioso

2

Eu sei que com um -f cp deve ficar em silêncio, mas não é! Eu faço

cp -rf Functional Functionalssssssss

e se o Functional não existe, diz não pode stat 'funcional' ... mas eu não quero ver a mensagem de erro !! Eu quero lidar com eles eu mesmo

    
por Cher 13.05.2015 / 15:44

2 respostas

7

A saída cannot stat... está sendo enviada para stderr , não stdout . Para o exemplo específico que você fornece na pergunta, o seguinte irá suprimir a saída do erro, redirecionando stderr para /dev/null :

cp -rf Functional Functionalssssssss 2>/dev/null

Além disso, pelo menos para a versão de cp no meu servidor Linux Debian, -f não é um sinalizador universal de 'silêncio'. Em vez disso, é um sinônimo para --force , o que significa que cp silenciosamente apagará qualquer arquivo de destino existente antes de copiar.

    
por 13.05.2015 / 16:06
0

Se você estiver usando bash ou sh (padrão posix), [ -f file ] && cp file target é o que você quer.

Este irá verificar se o arquivo existe e copiá-lo. Diga adeus aos erros.

    
por 13.05.2015 / 15:48

Tags