Di bash.
Saya mengalami kesulitan untuk menentukan apa yang harus saya gunakan?
semua skrip saya menggunakan ">> / dev / stderr"
di bash prompt, jika saya mencoba:
echo test >>/dev/stderr
works
echo test >> /dev/stderr
works
echo test >/dev/stderr
works
echo test > /dev/stderr
works
echo test >>&2
GAGAL!
echo test >> &2
GAGAL!
echo test >&2
bekerja
echo test > &2
GAGAL!
Saya bersedia mengubah semua skrip saya >&2
.
Tampaknya juga memiliki efek besar pada ssh (setelah su SomeUser
) di mana >>/dev/stderr
tidak akan berfungsi sama sekali (izin ditolak), hanya >&2
akan berfungsi.
su
masalah itu terjadi, memperbarui pertanyaan
su -c 'some command'
, perintah itu dijalankan oleh /bin/sh
, bukan bash
, jadi perilaku spesifik-bash (seperti simulasi /dev/stderr
untuk tujuan pengalihan bila tidak tersedia) tidak dijamin untuk hadir.