En bash.
J'ai du mal à déterminer ce que je devrais utiliser?
tous mes scripts utilisent ">> / dev / stderr"
à l' invite bash, si je tente:
echo test >>/dev/stderr
travaux
echo test >> /dev/stderr
travaux
echo test >/dev/stderr
travaux
echo test > /dev/stderr
travaux
echo test >>&2
ÉCHOUE!
echo test >> &2
ÉCHOUE!
echo test >&2
fonctionne
echo test > &2
FAILS!
Je souhaite changer tous mes scripts en >&2
.
Il semble également avoir un grand effet sur ssh (après su SomeUser
) où >>/dev/stderr
ne fonctionnera pas du tout (autorisation refusée), seulement >&2
fonctionnera.
su
que le problème se produit, a mis à jour la question
su -c 'some command'
, cette commande est exécutée par /bin/sh
, non bash
, donc le comportement spécifique à bash (comme la simulation /dev/stderr
à des fins de redirection lorsqu'elle n'est pas disponible) n'est pas garanti d'être présent.