Je m'attendrais
echo foo | tee /proc/self/fd/{3..6} 3>&1
échouer avec des erreurs comme / proc / self / fd / 4: Aucun fichier ou répertoire, etc., mais à ma grande surprise, il génère
foo
foo
foo
foo
foo
C'est comme si 3>&1
tous les descripteurs suivants étaient redirigés vers stdout, sauf que cela ne fonctionne pas si je passe 3
à autre chose, comme
$ 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
Y a-t-il une explication à ce comportement?
la source