AWS CLI v2에서 실행 결과를 less 없이 그냥 출력하기

들어가며

2020년 2월 AWS CLI 버전 2가 정식 공개되었습니다. 기존의 AWS CLI 사용법에 대해서는 다음 글에서 소개하고 있습니다.

사용법에 큰 차이는 없습니다만, 미묘하게 명령어나 작동 방식이 달라진 부분이 있습니다. 지난 번에는 AWS CLI v1과 v2의 ECR 로그인 방법 차이에 대해서 소개했습니다.

이외에도 사용하다 보면 체감할 수 있는 변경사항이 있는데 v2에서는 API 실행 결과를 보여줄 때 커맨드라인 페이저(less)를 사용한다는 점입니다.

LESS 명령어 사용법. AWS CLI v2에서는 less가 기본값으로 사용됩니다

커맨드라인에서 긴 텍스트가 출력되면 앞의 내용이 묻혀버리기 때문에 페이저를 사용하면 편리하게 읽거나 검색이 가능합니다. 하지만 단순히 결과를 출력하고 싶을 때는 불편하게 느껴질 수 있습니다. 이 글에서는 AWS CLI를 사용할 때 페이저를 사용하지 않는 방법에 대해서 소개합니다.

AWS CLI v2 실행결과를 페이저(less) 없이 출력하기

실행 결과를 페이저로 실행해주는 기능은 AWS CLI v2에 도입된 기능입니다. 페이저 출력 결과를 컨트롤하는 방법은 3가지 정도로 나눌 수 있습니다.

가장 쉽고 명시적인 방법은 --no-cli-pager 옵션을 aws 명령어 실행할 때마다 붙여주는 방법입니다. 단, 이 옵션은 AWS CLI v2 초기 버전에는 없었습니다. 이 옵션을 사용하려면 2.0.43 이상 버전을 사용해야합니다.

2번째 방법은 환경변수로 제어하는 방법입니다. aws 명령어는 AWS_PAGERPAGER 환경변수의 영향을 받습니다. AWS_PAGERPAGER 환경변수가 둘 다 없는 경우 기본적으로 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 이외에 사용하고자 페이저를 넣는 것도 물론 가능합니다.

이에 대한 자세한 설정은 다음 문서를 참고해주세요.

'도커(Docker) 컨테이너 로케일 설정: 데비안(Debian), 우분투(Ubuntu) 이미지에서 한글 입력 문제' 대표 이미지

도커(Docker) 컨테이너 로케일 설정: 데비안(Debian), 우분투(Ubuntu) 이미지에서 한글 입력 문제

🗒 기사, 2018-07-12 - 도커 우분투, 데비안 이미지에서는 기본적으로 한글 입력을 지원하지 않습니다. 한글을 입력하기 위해서는 로케일 설정을 UTF-8로 지정할 필요가 있습니다. 이 글에서는 로케일 개념과 함께 도커 이미지/컨테이너에서 로케일을 적용하는 방법에 대해서 소개합니다.

다시 보는 2018 한국의 주요 개발 / 테크 컨퍼런스들

🗒 기사, 2018-12-21 - 올해도 국내에서 다양한 컨퍼런스들이 열렸습니다. 그 중에서 영상으로 다시 보기 가능한 컨퍼런스들을 소개합니다. AWS 서울 서밋 2018, 넥슨 개발자 컨퍼런스, 오픈인프라 데이, 파이콘, if (kakao) dev, 업비트 개발자 컨퍼런스, 데뷰, 구글 클라우드 서밋, 프론트엔드 컨퍼런스 코리아, 렛츠 스위프트, AWS 데브데이.

클라우드에 설치하는 개인용 VPN 서버 알고(Algo)

🗒 기사, 2020-01-07 - Algo는 클라우드에 쉽게 설치해서 사용가능한 VPN 서버입니다. 이 글에서는 설치형 개인 VPN Algo의 설치 원리를 소개하고 아마존 라이트세일(Amazon Lightsail)에 배포하는 방법을 소개합니다. 그리고 iOS와 맥OS에서 와이어가드(WireGuard) 클라이언트로 VPN 서버를 사용하는 방법을 알려드립니다.