O comando cp do Linux não é silencioso

O comando cp do Linux não é silencioso

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

cp -rf Functional Functionalssssssss

e se Funcional não existir, diz que não é possível stat 'Funcional'... mas simplesmente não quero ver a mensagem de erro!! Eu quero cuidar deles sozinho

Responder1

A cannot stat...saída está sendo enviada para stderr, não stdout. Para o exemplo específico fornecido na pergunta, o seguinte suprimirá a saída de erro redirecionando stderrpara /dev/null:

cp -rf Functional Functionalssssssss 2>/dev/null

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

Responder2

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

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

informação relacionada