Ich verstehe, dass execdie 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<&1man?
PS: Ich habe das aus dem Bats-Quellcode heraus gefunden
exec 3<&1Unterschied3<&1darin besteht, dass Letzterer einen einzelnen Befehl beeinflusst, während Ersterer die aktuelle Shell beeinflusst.