Rozumiem, że exec
można wykonać przekierowanie we / wy w bieżącej powłoce, ale widzę tylko takie użycie, jak:
exec 6<&0 # Link file descriptor #6 with stdin.
# Saves stdin.
exec 6>&1 # Link file descriptor #6 with stdout.
# Saves stdout.
Rozumiem, że <
to jest dla strumienia wejściowego, >
jest dla strumienia wyjściowego. Co więc robi exec 3<&1
?
PS: Znalazłem to z kodu źródłowego Batsa
exec 3<&1
różni się od3<&1
tego, że to drugie wpłynie na jedno polecenie, podczas gdy pierwsze wpływa na bieżącą powłokę.