バッシュで。
何を使うべきか判断するのが難しいのですが?
私のすべてのスクリプトは「>> / dev / stderr」を使用します
bashのプロンプトで、私がしようとした場合:
echo test >>/dev/stderr
作品
echo test >> /dev/stderr
作品が
echo test >/dev/stderr
作品
echo test > /dev/stderr
作品
echo test >>&2
失敗!
echo test >> &2
失敗!
echo test >&2
作品は
echo test > &2
失敗します!
すべてのスクリプトをに変更してもかまいません>&2
。
また、ssh(後su SomeUser
)に大きな影響を与えるようで、>>/dev/stderr
まったく機能せず(権限が拒否されます)、機能するだけ>&2
です。
su
問題が発生してからのみです。質問を更新しました
su -c 'some command'
、そのコマンドはでは/bin/sh
なくによって実行されるbash
ため、bash固有の動作(/dev/stderr
使用できない場合のリダイレクト目的のシミュレーションなど)が存在することは保証されません。