2013-05-22 5 views

Antwort

5

einfach eine neue Shell starten:

bash >/dev/null 2>&1 

Jetzt können Sie Befehle eingeben Blind :) Wenn Sie diesen Modus Typ verlassen wollen: exit

Aber Eingabe von Befehlen blind machen wird in der Regel nicht, was Sie wollen. So würde ich vorschlagen, eine Textdatei wie script.sh, platzieren Sie Ihre Befehle in es zu erstellen:

command1 foo 
command2 bar 

und als führen Sie es mit:

bash script.sh >/dev/null 2>&1 

Der Ausgang aller Befehle in diesem Skript wird umgeleitet/dev/null jetzt

+0

bash? ist es ein Befehl? – TheForbidden

+1

ja natürlich. Es wird eine neue Bash-Shell gestartet. – hek2mgl

+0

Ich habe dies: [1] 13407 bash: 2: Keine solche Datei oder das Verzeichnis 1: Befehl nicht [1] + Ausgang 127 bash 2>/dev/null – TheForbidden

3

Verwenden exec ohne Befehl:

exec > /dev/null 2>&1 

Wie hex2mgl wies darauf hin, wenn Sie diese in einer interaktiven Shell tun, werden Sie nicht einmal Ihre prompte mehr, da die Schale sehen druckt das auf Standardfehler. Ich nehme an, dies ist für ein Skript gedacht, da es nicht viel Sinn macht, alle Ausgaben von interaktiv ausgeführten Befehlen zu ignorieren :)

+0

das Terminal ist blockiert – TheForbidden

+0

Es ist nicht blockiert; Alle Ausgaben (sowohl Standardausgaben als auch Standardfehler, die Ihre Eingabeaufforderung einschließen) wurden wie angefordert zu '/ dev/null' umgeleitet. – chepner

+0

und wenn ich nur die Fehlerausgabe umleiten möchte? – TheForbidden