How to turn off the pager for AWS CLI return value?
Solution 1
Just running into this issue myself, I was able to disable the behaviour by invoking the aws cli as AWS_PAGER="" aws ...
.
Alternatively you could simply export AWS_PAGER=""
at the top of your (bash) script.
Source: https://github.com/aws/aws-cli/pull/4702#issue-344978525
Solution 2
You can disable pager either by exporting AWS_PAGER=""
or by modifying you AWS cli config file.
export AWS_PAGER=""
### or update your ~/.aws/config with
[default]
cli_pager=
Alternatively, you can enable the default pager to output of less
program as
export AWS_PAGER="less"
or corresponding config change.
Solution 3
You can also use --no-cli-pager
in AWS CLI version 2.
See the "Client-side pager" section here https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-pagination.html
Solution 4
I am using the aws cli v2 via docker and passing the --env AWS_PAGER=""
on the docker run command fixed this issue for me on windows 10 using git bash.
I set it up as an alias as well so things work with jq.
How to set your docker env values:
Example alias:
docker run --rm -it -v c:/users/me/.aws:/root/.aws --env AWS_PAGER="" amazon/aws-cli
Solution 5
You can set the environment variable PAGER
to "cat"
to force awscli to not start up less
:
PAGER=cat aws sqs list-queues
I set up as a shell alias to make my life easier:
# ~/.zshrc
alias aws="PAGER=cat aws"
Related videos on Youtube
Comments
-
Colin Armstrong almost 2 years
I am attempting to utilize the AWS CLI along with a
for
loop in bash to iteratively purge multiple SQS message queues. The bash script works almost as intended, the problem I am having is with the return value each time the AWS CLI sends a request. When the request is successful, it returns an empty value and opens up an interactive pager in the command line. I then have to manually typeq
to exit the interactive screen and allow thefor
loop to continue to the next iteration. This becomes very tedious and time consuming when attempting to purge a large number of queues.Is there a way to configure AWS CLI to disable this interactive pager from popping up for every return value? Or a way to pipe the return values into a separate file instead of being displayed?
I have played around with configuring different return value types (text, yaml, JSON) but haven't had any luck. Also the
--no-pagination
parameter doesn't change the behavior.Here's an example of the bash script I'm trying to run:
for x in 1 2 3; do aws sqs purge-queue --queue-url https://sqs.<aws-region>.amazonaws.com/<id>/<env>-$x-<queueName>.fifo; done
-
Amit Baranes about 4 yearsI can't reproduce this, Can you share an example? maybe share with us the SQS or the interactive pager?
-
Walter A about 4 yearsDid you try
echo q | aws sqs ...
? -
Walter A about 4 yearsRewrite the
for x (1 2 3)
, options:for x in 1 2 3
,for x in {1..3}
andfor ((x=1; x<=3; x++))
. -
Ekevoo almost 3 years
--no-pagination
refers to server-side pagination, for situations where the result of a list command would be too long for the server to respond the full list in a single response. It does not affect client-side pagination.
-
-
Colin Armstrong about 4 yearsNice find on that Github pull request, that was exactly what I was trying to find in the AWS documentation but never had any luck. Thanks!
-
Colin Armstrong about 4 yearsNice, this works. Looks like you can also use
PAGER=""
to achieve the same result. Thanks! -
mziwisky about 4 yearsAs that source mentions, if you aren't into the env var solution, you can also add
cli_pager = cat
to your~/.aws/config
-
cbliard over 3 yearsTo update aws configuration file, this command can be used:
aws configure set cli_pager ""
. Append--profile profile-name
to disable pager specifically for a profile. -
petern-sc over 3 yearsAmazing! finally got rid of the annoying behaviour on my ssm script
-
DKebler over 3 yearsyou have a typo in first line. --env AWS_PAGEER="" two EE. Otherwise thumbs up!
-
Scott McAllister almost 3 yearsHere's the documentation on this as well as a lot of other useful configuration options: docs.aws.amazon.com/cli/latest/userguide/…