AWS CLI 팁: 페이저 없이 실행 결과 출력하기
들어가며
2020년 2월 AWS CLI 버전 2가 정식 공개되었습니다. 기존의 AWS CLI 사용법에 대해서는 다음 글에서 소개하고 있습니다.
사용법에 큰 차이는 없습니다만, 미묘하게 명령어나 작동 방식이 달라진 부분이 있습니다. 지난 번에는 AWS CLI v1과 v2의 ECR 로그인 방법 차이에 대해서 소개했습니다.
이외에도 사용하다 보면 체감할 수 있는 변경사항이 있는데 v2에서는 API 실행 결과를 보여줄 때 커맨드라인 페이저(less
)를 사용한다는 점입니다.

커맨드라인에서 긴 텍스트가 출력되면 앞의 내용이 묻혀버리기 때문에 페이저를 사용하면 편리하게 읽거나 검색이 가능합니다. 하지만 단순히 결과를 출력하고 싶을 때는 불편하게 느껴질 수 있습니다. 이 글에서는 AWS CLI를 사용할 때 페이저를 사용하지 않는 방법에 대해서 소개합니다.
AWS CLI v2 실행결과를 페이저(less) 없이 출력하기
실행 결과를 페이저로 실행해주는 기능은 AWS CLI v2에 도입된 기능입니다. 페이저 출력 결과를 컨트롤하는 방법은 3가지 정도로 나눌 수 있습니다.
가장 쉽고 명시적인 방법은 --no-cli-pager
옵션을 aws
명령어 실행할 때마다 붙여주는 방법입니다. 단, 이 옵션은 AWS CLI v2 초기 버전에는 없었습니다. 이 옵션을 사용하려면 2.0.43 이상 버전을 사용해야합니다.
2번째 방법은 환경변수로 제어하는 방법입니다. aws
명령어는 AWS_PAGER
와 PAGER
환경변수의 영향을 받습니다. AWS_PAGER
와 PAGER
환경변수가 둘 다 없는 경우 기본적으로 less
를 사용합니다.
PAGER
’보다 AWS_PAGER
변수가 선언되어있는 경우 우선 순위가 높습니다. 출력 결과를 less
로 받아보고 싶지 않은 경우 AWS_PAGER
를 빈값으로 선언합니다.
export AWS_PAGER=''
이제 페이저 없이 API 실행결과가 출력됩니다.
AWS_PAGER
환경변수가 선언되어있지 않은 경우 PAGER
환경변수의 값을 사용할 수 있는데, 이 경우에도 명시적으로 빈 값을 지정해야만 페이저 없이 그냥 출력됩니다. 참고로 PAGER
환경변수는 AWS CLI 뿐만 아니라 다른 CLI 프로그램에도 영향을 줄 수 있습니다.
export PAGER=''
환경변수의 경우 셸을 종료하면 초기화되기 때문에 ~/.zshrc
나 ~/.bashrc
같은 셸 설정 파일에 추가해야 항상 변경사항이 적용됩니다.
마지막으로 ~/.aws/config
파일에 설정을 추가하는 방법이 있습니다. 모든 프로필에 적용되길 원한다면 [default]
섹션에 cli_pager=
를 빈값으로 추가합니다. 특정 프로필에만 추가되길 원하는 경우 프로필 섹션에 cli_pager=
를 빈값으로 추가합니다.
[default]
cli_pager=
여기서는 페이저 없이 출력 결과를 보는 방법을 소개했지만, 위의 설정들에 less
이외에 사용하고자 페이저를 넣는 것도 물론 가능합니다.
이에 대한 자세한 설정은 다음 문서를 참고해주세요.