En bash.
¿Tengo dificultades para determinar qué debo usar?
todos mis scripts usan ">> / dev / stderr"
en bash prompt, si lo intento:
echo test >>/dev/stderr
funciona
echo test >> /dev/stderr
funciona
echo test >/dev/stderr
funciona
echo test > /dev/stderr
funciona
echo test >>&2
FALLAS!
echo test >> &2
FALLAS!
echo test >&2
funciona
echo test > &2
falla!
Estoy dispuesto a cambiar todos mis scripts a >&2
.
Parece que también tiene un gran efecto sobre ssh (after su SomeUser
) donde >>/dev/stderr
no funcionará en absoluto (permiso denegado), solo >&2
funcionará.
su
que sucede el problema, actualicé la pregunta
su -c 'some command'
, ese comando se ejecuta /bin/sh
, no bash
, por /dev/stderr
lo que no se garantiza que haya un comportamiento específico de bash (como simular con fines de redireccionamiento cuando no está disponible).