🐥
AWS CLIコマンド出力の色付け(ANSIエスケープシーケンス)を無効化する方法
結論
aws
コマンドに--no-color
的なフラグは実装されていないので環境変数としてAWS_PAGER=
を設定します。=
の後に値が指定されていませんが、タイプミスではありません。AWS_PAGERに値が設定されていない場合はページングされず結果的に出力の色付けが無効化されます。
以下、amazon公式が提供しているDockerイメージのamazon/aws-cli
を利用する場合の実行例を示します。--env
フラグで環境変数を指定しています。
$ docker run --rm -it -v "$HOME/.aws:/root/.aws" --env LC_CTYPE=en_US.UTF-8 --env AWS_PAGER= amazon/aws-cli \
ec2 describe-instance-types \
--query "InstanceTypes[0:5:1].InstanceType"
上記はEC2のインスタンスタイプの一覧を取得し、最初の5件を表示するコマンドです。実行例を示します。
[
"c6a.24xlarge",
"c4.4xlarge",
"r6i.xlarge",
"c3.large",
"t1.micro"
]
いかがでしょうか、ANSIエスケープシーケンスが除去されて落ち着いたモノトーンの文字列が出力されました。
Discussion