W bash
Mam problem z ustaleniem, czego powinienem użyć?
wszystkie moje skrypty używają „>> / dev / stderr”
w wierszu polecenia, jeśli spróbuję:
echo test >>/dev/stderrdziała
echo test >> /dev/stderrdziała
echo test >/dev/stderrdziała
echo test > /dev/stderrdziała
echo test >>&2FAILS!
echo test >> &2FAILS!
echo test >&2działa
echo test > &2niepowodzenie!
Jestem gotów zmienić wszystkie moje skrypty na >&2.
Wydaje się, że ma również duży wpływ na ssh (po su SomeUser), gdzie w >>/dev/stderrogóle nie będzie działać (odmowa dostępu), tylko >&2będzie działać.
sutym, jak problem się zdarzy, zaktualizowałem pytanie
su -c 'some command', to polecenie jest uruchamiane przez /bin/sh, a nie bash, więc /dev/stderrnie jest gwarantowane zachowanie specyficzne dla bash (takie jak symulowanie w celu przekierowania, gdy nie jest dostępne).