By your explanation, file1 will have the outputs of cmd1, cmd2 & cmd3.
Then exec >&- 2>&- will stop redirecting to file1. Thus outputs of cmd4 & cmd5 will be directed to stdout & stderr.
Is my understanding correct?
---------- Post updated at 03:12 PM ---------- Previous update was at 03:12 PM ----------
By your explanation, file1 will have the outputs of cmd1, cmd2 & cmd3.
Then exec >&- 2>&- will stop redirecting to file1. Thus outputs of cmd4 & cmd5 will be directed to stdout & stderr.