Ich verstehe, dass exec
die I / O-Umleitung für die aktuelle Shell ausgeführt werden kann, sehe aber nur die Verwendung wie folgt:
exec 6<&0 # Link file descriptor #6 with stdin.
# Saves stdin.
exec 6>&1 # Link file descriptor #6 with stdout.
# Saves stdout.
Daraus verstehe ich, dass dies <
für den Eingabestream, >
für den Ausgabestream ist. Also, was macht exec 3<&1
man?
PS: Ich habe das aus dem Bats-Quellcode heraus gefunden
exec 3<&1
Unterschied3<&1
darin besteht, dass Letzterer einen einzelnen Befehl beeinflusst, während Ersterer die aktuelle Shell beeinflusst.