bash - 将 aws cli v2 重定向到文件会添加额外的控制字符
问题描述
如果我运行以下命令:
docker run -v "$PWD/aws":/root/.aws --rm -it amazon/aws-cli wafv2 list-ip-sets --profile dev --scope=CLOUDFRONT --region=us-east-1 --color off
我得到以下输出:
{
"IPSets": []
}
如果我运行以下命令:
docker run -v "$PWD/aws":/root/.aws --rm -it amazon/aws-cli wafv2 list-ip-sets --profile dev --scope=CLOUDFRONT --region=us-east-1 --color off > test.txt
我在 test.txt 中得到以下内容:
[?1h=
{[m
"IPSets": [][m
}[m
[K[?1l>
我认为这些是 xterm 控制代码或其他东西 - 无论如何,我如何让 test.txt 的内容与输出到终端的内容相匹配?我在 Mac 上,但我的解决方案需要在 Mac 和 Linux 上运行。
解决方案
显然,传递给 Docker 的 -it 参数是问题所在。只是通过 -i 让它工作。
推荐阅读
- sql - 环绕数字解释为文本
- java - 如何将两个 XML 文件合并/合并为一个并决定是否添加/删除元素或属性
- python - 将一串字节数组转换为字节数组
- r - 因素的崩溃
- javascript - 使用数组的索引在该数组的过滤版本中查找相应的索引
- java - jFormatted 文本字段未正确格式化双精度数据
- http-live-streaming - hls 视频:为什么片段长度和目标持续时间之间存在差异?
- python - 将模型保存在单独的线程中
- xamarin.forms - Xamarin UITest 后门可以在 iOS 上返回值吗?
- python - 在其他人代码中对 numpy 数组进行操作