Ich habe einen Befehl, den ich ausführe und der eine Tonne Ausgabe erzeugt. Ich möchte die Ausgabe stumm schalten, ohne in eine Datei zu schreiben. Ich habe Folgendes verwendet, um die gesamte Ausgabe in eine Datei zu senden, möchte aber auch hier keine Dateiausgabe:
command > out.txt 2>&1
Ich habe command > /dev/null
meine CentOS-Box bereits verwendet, kann aber für Windows keine ähnliche Funktion finden.
windows
windows-7
windows-command-prompt
stdout
Alec Gorge
quelle
quelle
command > /dev/null
auf deinem CentOS benutzt.command > /bin/null
CentOS verwendet haben, haben Sie eine gemeinsame Datei mit dem Namen "file"/bin/null
auf Ihrem System erstellt. Sie können sagen: "Es hat funktioniert!" , falls Sie es wollen. Diese Datei enthält nun die stdout- und stderr-Ausgabe Ihrescommand
. In der Regel/bin/
gibt es nur ausführbare Dateien. Und normalerweise darf nur der Root- Benutzer dort Dateien erstellen. Wenn diese Datei also vorhanden ist, haben Sie Ihren Befehl als Root-Benutzer ausgeführt ... existiert/bin/null
normalerweise nicht - und/dev/null
(was ich erwähnt habe) wird normalerweise als "schwarzes Ganzes" verwendet, in dem unerwünschte Ausgaben verschwinden sollten ...Antworten:
Sie möchten
command > nul 2>&1
.quelle
> nul 2>&1
oder müssen2> nul
auch stderr töten.nul
ist das spezielle Schlüsselwort von Windows für eine Null-Ausgabe (dh Ausgabe verwerfen). Auf * nix-basierten Systemen (auf die sich Ranvir bezieht) wird stattdessen die spezielle Datei verwendet/dev/null
. Das>
bedeutet "umleiten" (und2>
bedeutet Umleitungspuffer 2 - das ist die Fehlerausgabe)Sie wollen
command > null 2>&1
nul
Funktioniert nur in der Eingabeaufforderung, währendnull
in Powershell funktioniertNull kann aus Kompatibilitätsgründen in und cmd.exe verwendet werden, erstellt jedoch eine Datei mit dem Namen null.
quelle