Na festança.
Estou com alguma dificuldade para determinar o que devo usar?
todos os meus scripts usam ">> / dev / stderr"
no prompt do bash, se eu tentar:
echo test >>/dev/stderr
funciona
echo test >> /dev/stderr
funciona
echo test >/dev/stderr
funciona
echo test > /dev/stderr
funciona
echo test >>&2
FALHAS!
echo test >> &2
FALHAS!
echo test >&2
funciona
echo test > &2
FALHA!
Estou disposto a mudar todos os meus scripts para >&2
.
Parece também ter um grande efeito sobre o ssh (depois su SomeUser
), onde >>/dev/stderr
não funcionará (permissão negada), apenas >&2
funcionará.
su
que o problema acontece, atualizou a questão #
su -c 'some command'
, esse comando é executado por /bin/sh
, e não bash
por um comportamento específico do bash (como simular /dev/stderr
para fins de redirecionamento quando não disponível) não estiver presente.