Der Linux-Befehl cp ist nicht stumm

Der Linux-Befehl cp ist nicht stumm

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 stderran /dev/null:

cp -rf Functional Functionalssssssss 2>/dev/null

Außerdem ist, zumindest für die Version von cpauf meinem Debian-Linux-Server, -fkein universelles „Silence“-Flag. Es ist vielmehr ein Synonym für --force, was bedeutet, dass cpvor 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.

verwandte Informationen