Trong bash.
Tôi đang gặp một số khó khăn để xác định những gì tôi nên sử dụng?
tất cả các tập lệnh của tôi sử dụng ">> / dev / stderr"
tại bash prompt, nếu tôi thử:
echo test >>/dev/stderr
công
echo test >> /dev/stderr
trình
echo test >/dev/stderr
hoạt
echo test > /dev/stderr
động công trình hoạt động
echo test >>&2
FAILS!
echo test >> &2
FAILS! FAILS
echo test >&2
hoạt động
echo test > &2
!
Tôi sẵn sàng thay đổi tất cả các kịch bản của tôi để >&2
.
Nó dường như cũng có ảnh hưởng lớn đến ssh (sau su SomeUser
) khi >>/dev/stderr
hoàn toàn không hoạt động (quyền bị từ chối), chỉ >&2
hoạt động.
su
sự cố xảy ra, hãy cập nhật câu hỏi
su -c 'some command'
lệnh đó được điều hành bởi /bin/sh
, không bash
, vì vậy, hành vi cụ thể của bash (như mô phỏng /dev/stderr
cho mục đích chuyển hướng khi không khả dụng) không được đảm bảo có mặt.