In Bash.
Ich habe Schwierigkeiten zu bestimmen, was ich verwenden soll?
Alle meine Skripte verwenden ">> / dev / stderr"
an der Bash-Eingabeaufforderung, wenn ich versuche:
echo test >>/dev/stderr
funktioniert
echo test >> /dev/stderr
funktioniert
echo test >/dev/stderr
funktioniert
echo test > /dev/stderr
funktioniert
echo test >>&2
FEHLT!
echo test >> &2
FEHLT!
echo test >&2
funktioniert
echo test > &2
FAILS!
Ich bin bereit, alle meine Skripte zu ändern >&2
.
Es scheint auch einen großen Effekt auf ssh (after su SomeUser
) zu haben, wo >>/dev/stderr
es überhaupt nicht funktioniert (Erlaubnis verweigert), sondern nur >&2
funktioniert.
su
dass das Problem auftritt , aktualisiert die Frage
su -c 'some command'
Befehl wird von /bin/sh
nicht ausgeführt bash
, sodass bash-spezifisches Verhalten (z. B. Simulation /dev/stderr
für Umleitungszwecke, wenn es nicht verfügbar ist) nicht garantiert vorhanden ist.