Ich würde erwarten
echo foo | tee /proc/self/fd/{3..6} 3>&1
mit Fehlern wie / proc / self / fd / 4 zu scheitern: Keine solche Datei oder Verzeichnis usw., aber zu meiner Überraschung wird es ausgegeben
foo
foo
foo
foo
foo
Es ist so, als würden 3>&1
alle folgenden Deskriptoren zu stdout umgeleitet, außer es funktioniert nicht, wenn ich 3
zu etwas anderem wechsle , wie z
$ 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
Gibt es eine Erklärung für dieses Verhalten?
quelle