Saya harapkan
echo foo | tee /proc/self/fd/{3..6} 3>&1
gagal dengan kesalahan seperti / proc / self / fd / 4: Tidak ada file atau direktori dll, tetapi yang mengejutkan saya, ini menghasilkan
foo
foo
foo
foo
foo
Ini seperti 3>&1
menyebabkan semua deskriptor berikut diarahkan ke stdout, kecuali itu tidak berfungsi jika saya mengubah 3
ke yang lain, seperti
$ echo foo | tee /proc/self/fd/{3..6} 4>&1
tee: /proc/self/fd/3: No such file or directory
tee: /proc/self/fd/5: No such file or directory
tee: /proc/self/fd/6: No such file or directory
foo
foo
$ echo foo | tee /proc/self/fd/{4..6} 4>&1
tee: /proc/self/fd/5: No such file or directory
tee: /proc/self/fd/6: No such file or directory
foo
foo
Apakah ada penjelasan untuk perilaku ini?