ในทุบตี
ฉันมีปัญหาในการพิจารณาสิ่งที่ฉันควรใช้?
สคริปต์ของฉันทั้งหมดใช้ ">> / dev / stderr"
ที่ bash prompt, ถ้าฉันลอง:
echo test >>/dev/stderr
work
echo test >> /dev/stderr
work
echo test >/dev/stderr
works
echo test > /dev/stderr
works
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
เพื่อการเปลี่ยนเส้นทางเมื่อไม่มี) ไม่รับประกันว่าจะมีอยู่