Wenn ich bestimmte Programme wie Eclipse und Document Viewer in 11.10 über die Befehlszeile starte, werden eine Menge Informationen ausgegeben, die nicht von Belang zu sein scheinen.
Auch wenn sie im Hintergrund ausgeführt werden, werden sie manchmal weiterhin auf dem Terminal ausgegeben, an dem ich gerade arbeite, was irritierend ist.
Ich würde sie gerne einfach starten und das Hintergrundmaterial im Hintergrund behalten. Wenn Sie diese Programme über die Benutzeroberfläche starten (z. B. durch Doppelklicken auf ein Symbol), werden mir diese Meldungen nie angezeigt, sodass ich sie in der Befehlszeile nicht benötige.
command-line
Anake
quelle
quelle
Antworten:
Wenn Sie vermeiden können, etwas in die Konsole zu schreiben, hängt dies davon ab, wie die Ausgabe des Programms erstellt wird. Wenn es auf Standardausgabe gestreamt wird, ist es gerade genug zu tun
und es sollte keine Ausgabe erfolgen.
So unterdrücken Sie auch Fehlermeldungen:
Oder einfach in Bash:
Aber wenn sie es irgendwie anders machen, könnte es ein Problem sein, zu verhindern, dass es in die Konsole geschrieben wird.
Verwenden Sie nach Möglichkeit die von MuffinStateWide angegebene Lösung
quelle
eclipse 2&>1 >/dev/null
um loszuwerdenstderr
. Der Standard leitet nur weiterstdout
. Und es gibt keine "andere" Möglichkeit, dies zu tun. Wenn Sie sowohl stdout als auch stderr in den Nether spülen, wird keine Ausgabe erfolgen.eclipse &> /dev/null
. Das bringt sowohl stdin als auch stderr zum Umleitungspunkt (in bash)Sie können eine Bash-Funktion erstellen, die einen Aliasnamen für einen Befehl enthält, und zusätzliche Funktionen hinzufügen, um die gewünschten Ergebnisse zu erzielen.
Beispiel: Nehmen wir an, Sie möchten
gvim
einen GUI-Texteditor über die Befehlszeile starten .Sie könnten eine Funktion wie diese schreiben:
(Fügen Sie diese Funktion zu Ihrer
.bashrc
oder Ihrer.bash_aliases
Datei hinzu, damit sie immer geladen ist.)Erläuterung:
Dies wird den
gvim
Befehl mit einer Bash-Funktion aliasen, die auch als Bash-Funktion bezeichnet wirdgvim
(wenn Sie alsogvim
an einer Bash-Eingabeaufforderung eingeben, ruft sie Ihregvim
Funktion auf, anstatt den realengvim
Befehl auszuführen . Ihre Funktion ruft dann den realengvim
Befehl mit auf (und akzeptiert seine regulären Argumente) Einige zusätzliche Funktionen:/dev/null
(unterdrückt die Ausgabe an das Terminal)&
, um den Befehl im Hintergrund auszuführen (damit Ihre Shell nicht blockiert wird)disown
den Hintergrundjob aus der Schale zu entfernen (so wird es in der Liste der aktiven Aufträge nicht angezeigt)nohup
, um den Prozess vom Terminal zu trennen (sodass Sie Ihre Shell-Sitzung beenden oder das Terminal schließen können, ohne den Prozess zu beenden).quelle
Versuchen Sie, --help als Befehlsschalter hinzuzufügen, und suchen Sie nach "quiet". Dies sollte die Ausgabe unterdrücken oder einfach über die GUI starten. und starten Sie mit dem Schalter oder finden Sie einen Weg, um es per Skript zu unterdrücken
persönlich starte ich von cli, um diese Ausgabe zu erhalten, also bin ich mir nicht sicher, ob es für alle GUI-Apps möglich ist.
quelle