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/stderrfunktioniert
echo test >> /dev/stderrfunktioniert
echo test >/dev/stderrfunktioniert
echo test > /dev/stderrfunktioniert
echo test >>&2FEHLT!
echo test >> &2FEHLT!
echo test >&2funktioniert
echo test > &2FAILS!
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/stderres überhaupt nicht funktioniert (Erlaubnis verweigert), sondern nur >&2funktioniert.
sudass das Problem auftritt , aktualisiert die Frage
su -c 'some command'Befehl wird von /bin/shnicht ausgeführt bash, sodass bash-spezifisches Verhalten (z. B. Simulation /dev/stderrfür Umleitungszwecke, wenn es nicht verfügbar ist) nicht garantiert vorhanden ist.