Depois de executar exec &>filename , a saída padrão e o erro padrão do shell vão para filename . A entrada padrão é o descritor de arquivo 0 por definição, e a saída padrão é fd 1 e o erro padrão é fd 2.
Um descritor de arquivo não é redirecionado ou não redirecionado: ele sempre vai para algum lugar (supondo que o processo tenha este descritor aberto). Redirecionar um descritor de arquivo significa mudar para onde ele vai. Quando você executou exec &>filename , stdout e stderr foram anteriormente conectados ao terminal e se conectaram a filename .
Há sempre uma maneira de se referir ao terminal atual: /dev/tty . Quando um processo abre este arquivo, significa sempre o terminal de controle do processo, o que for . Então, se você quiser recuperar stdout e stderr originais do shell, você pode fazer isso porque o arquivo ao qual eles estavam conectados ainda está por aí.
exec &>/dev/tty