我正在为 AWS EC2 编写一个 Terraform 模块,其中涉及在用户数据部分执行 bash。当我开发时,我编写的脚本中遇到了问题,但 AWS 和 Terraform 都没有提供任何错误日志,直到我在 AWS 支持论坛中找到这一行:
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
Run Code Online (Sandbox Code Playgroud)
user_data
这一行成功写入了脚本执行的所有输出/var/log/user-data.log
,但我不理解整行。我知道exec >
将所有输出写入一个文件,在这种情况下>(..)
,但我不明白为什么使用它tee
或需要那里的管道。