
Ich weiß, dass cp mit einem -f stumm sein sollte, aber das ist es nicht! Ich
cp -rf Functional Functionalssssssss
und wenn Functional nicht existiert, heißt es, dass „Functional“ nicht angegeben werden kann … aber ich möchte die Fehlermeldung einfach nicht sehen!! Ich möchte sie selbst handhaben
Antwort1
Die cannot stat...
Ausgabe wird tatsächlich an gesendet stderr
, nicht an stdout
. Für das konkrete Beispiel, das Sie in der Frage angeben, unterdrückt Folgendes die Fehlerausgabe durch Umleitung stderr
an /dev/null
:
cp -rf Functional Functionalssssssss 2>/dev/null
Außerdem ist, zumindest für die Version von cp
auf meinem Debian-Linux-Server, -f
kein universelles „Silence“-Flag. Es ist vielmehr ein Synonym für --force
, was bedeutet, dass cp
vor dem Kopieren alle vorhandenen Zieldateien stillschweigend gelöscht werden.
Antwort2
Wenn Sie Bash oder Sh (POSIX-Standard) verwenden, [ -f file ] && cp file target
ist dies das, was Sie möchten.
Dieser prüft, ob die Datei existiert und kopiert sie. Verabschieden Sie sich von Fehlern.