首页 > 解决方案 > 将 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 上运行。

标签: bashdockeraws-cli

解决方案


显然,传递给 Docker 的 -it 参数是问题所在。只是通过 -i 让它工作。


推荐阅读