Ich suche derzeit nach Möglichkeiten, um Fehlerbefehle unter Linux zu unterdrücken, insbesondere den Befehl cp
.
Ich mache:
root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/.
cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory
Wie unterdrücke ich die Fehlermeldung, die auf dem Bildschirm gedruckt wird ? Das heißt, ich möchte diese Fehlermeldung nicht auf meinem Monitor sehen.
Antworten:
Um die Fehlerausgabe in zu unterdrücken
bash
, hängen Sie sie2>/dev/null
an das Ende Ihres Befehls an. Dadurch wird Dateihandle 2 (STDERR) an umgeleitet/dev/null
. Es gibt ähnliche Konstrukte in anderen Schalen, obwohl das spezifische Konstrukt geringfügig variieren kann.quelle
Leiten Sie die Fehlermeldung (STDERR) um an
/dev/null
:Beispiel:
quelle
Ihre Frage ist nicht klar. Am sinnvollsten wäre es, überhaupt nicht auszuführen,
cp
wenn der Platzhalter keiner Datei entspricht, anstattcp
die Fehlermeldung auszuführen und auszublenden.Wenn die Shell bash ist, setzen Sie dazu die
nullglob
Option so, dass das Platzhaltermuster auf nichts erweitert wird, wenn es nicht mit Dateien übereinstimmt. Überprüfen Sie dann, ob das Muster zu etwas erweitert wurde, und rufen Siecp
in diesem Fall nicht auf.Testen Sie im Klartext, ob der Glob unverändert blieb, und zeigen Sie auf eine nicht vorhandene Datei.
quelle
Fügen Sie dies in ~ / .bashrc hinzu:
dann:
quelle
stderr
,/dev/null
wenn die Fehlerausgabe unerwünscht ist. Oder mit einem anderen Namen alscp
.cp
.Sie können entweder:
1 Option verwenden :
2>/dev/null
.2 Option:
2>&1
Außerdem können Sie dies am Ende Ihres Befehls verwenden, um die Fehlermeldungen zu unterdrücken:
Beispiel hier-
Hier können Sie keine Informationen über die Fehlermeldung abrufen. Ex2:
Hier können Sie einige Informationen aus der folgenden Protokolldatei abrufen:
quelle