我想将脚本的一些输出重定向到文件。
REDIRECT_FILE="foo.txt"
echo to console
# starting redirect
exec > $REDIRECT_FILE
echo to file
echo ...
echo ...
# stop redirect
exec >&-
echo end of script
“脚本结束”应该写入标准输出。但出现了“错误文件描述符”错误消息。
exec 1>&-
也不起作用。
停止重定向的正确术语是什么?
关闭
exec 1>&-
标准输出。它不会将其恢复为原始值,因为您已经将其替换为exec > $REDIRECT_FILE
(这应该是exec > "$REDIRECT_FILE"
为了保护变量的值免受 shell 的任何进一步处理)。要将stdout恢复为其原始值,您需要保存它