AWS CloudShell で AWS CLI v2 のページャーを無効化する

AWS CloudShell で初めて AWS CLI v2 をさわる方向けの記事です。
2020.12.16

哈喽大家好、コンサルティング部の西野です。

待望の AWS CloudShell が本日リリースされましたね。
弊社メンバーは早速SLを走らせたりEmacsをインストールしたりEC2にSSHしたりと、新たな世界を満喫しています。

本稿では AWS CloudShell をちょっと便利に使うネタを紹介します。

実は既出ネタです

AWS CLI v2 でページ分割(less)を無効化できることを最近知った件

本稿のネタ自体は Developers.IO でも既出なのですが、AWS CloudShell の登場により初めて AWS CLI v2 に触れる方も多いと思ったため改めてブログにしております。

AWS CLI v2 の出力

AWS CLI (v1) とは異なり、AWS CLI v2 の出力にはページャープログラムを利用できます。
インストール後の初期状態だと出力が less コマンドに渡されます。
ためしに出力が長くなるコマンドを打ってみると……

このように、すべての情報が一度に画面に出力されません。(lessに渡されているので当然ですね。)
AWS CLI (v1) のようにページャーを使用 しない 出力がお好みの方は後述の方法で無効化しましょう。

ページャー無効化

ページャーを恒久的に無効化するためには下記のいずれかの方法をとります。

~/.aws/config (AWS CLI 設定ファイルパターン)

AWS CLI の設定ファイルである ~/.aws/config に以下の設定を記述します。
AWS CloudShell の初期状態では当該ファイルが存在していないため、事前に作成してください。

~/.aws/config

[default]
cli_pager=

名前付きプロファイルを使用する場合プロファイルごとに同様の設定が必要です。
すべてのプロファイルでページャーを無効化したい場合、後述の環境変数パターンを利用すると良いでしょう。

.bash_profile (環境変数パターン)

AWS CloudShell で下記のコマンドを実行します。

~/.aws/config

$ echo 'export AWS_PAGER=""' >> ~/.bash_profile 
$ source ~/.bash_profile

動作確認

上記いずれかの方法で設定を行った後、再度同じコマンドを実行すると……

ちゃんとページャーを利用せずに出力してくれました。

公式ドキュメント

AWS CLI のページ分割オプションの使用

終わりに

このブログがほんの少しでも世界を良くできれば嬉しいです。
コンサルティング部の西野 (@xiyegen) がお送りしました。