В баш.
У меня возникли трудности с определением того, что мне следует использовать?
все мои скрипты используют ">> / dev / stderr"
при bash подскажите, если попробую:
echo test >>/dev/stderr
работает
echo test >> /dev/stderr
работает
echo test >/dev/stderr
работает
echo test > /dev/stderr
работает
echo test >>&2
FAILS!
echo test >> &2
FAILS!
echo test >&2
работает
echo test > &2
FAILS!
Я готов изменить все свои сценарии на >&2
.
Похоже, что он также имеет большое влияние на ssh (после su SomeUser
), где >>/dev/stderr
не будет работать вообще (разрешение запрещено), только >&2
будет работать.
su
того, как проблема возникает, обновил вопрос
su -c 'some command'
, что эта команда выполняется /bin/sh
, а не bash
так, поэтому /dev/stderr
не гарантируется наличие специфического для bash поведения (такого как моделирование для целей перенаправления, когда оно недоступно).