Wie kann ich die Ausgabe in der Bash-Variablen speichern und die Ausgabe an stderr und stdout unterdrücken? [duplizieren]

Diese Frage hat hier bereits Antworten :

Kommentare

  • Ihre Bearbeitung zeigt eine Befehlsersetzung an, die nur den Standardfehlerstrom des Befehls erfasst und verwirft den Standardausgabestream vollständig.
  • Zum späteren Nachschlagen " wird ein Fehler ausgegeben " ist bei weitem nicht so nützlich wie " es wird der Fehler Error: you didn't specify -f so I can't furble ausgegeben. " Denken Sie daran, dass wir ' nicht sehen können, was Sie sehen können. Daher ist es wichtig, uns alles zu sagen. Wenn Sie uns in Ihrem speziellen Fall die Fehlermeldung mitgeteilt haben, können wir Sie möglicherweise beraten, wie Sie vermeiden können, sie überhaupt auszulösen, anstatt sie verwerfen zu müssen.

Antwort

Wenn dieser Befehl keine stille Option hat, leiten Sie den Fehler nach / dev / null um.

oidvalue=$(snmpget -v 2c -c public localhost 1234 2>/dev/null) 

Kommentare

  • Vielen Dank, aber es stellte sich heraus, dass ich tatsächlich so etwas brauchte: $ (snmpget -v 2c -c public localhost 1234 2 > & 1 > / dev / null)
  • Sind Sie sicher? Dadurch wird oidvalue auf die Fehlermeldung gesetzt, stdout wird von / dev / null übernommen. 2 > & 1 hat keine Auswirkung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.