bash - 如何关闭 AWS CLI 返回值的寻呼机?

标签 bash amazon-web-services amazon-sqs aws-cli

我正在尝试使用 AWS CLI 和 for在 bash 中循环以迭代清除多个 SQS 消息队列。 bash 脚本几乎按预期工作,我遇到的问题是每次 AWS CLI 发送请求时的返回值。当请求成功时,它返回一个空值并在命令行中打开一个交互式寻呼机。然后我必须手动输入 q退出交互式屏幕并允许 for循环继续下一次迭代。当尝试清除大量队列时,这变得非常乏味和耗时。
有没有办法配置 AWS CLI 以禁用此交互式寻呼机为每个返回值弹出?或者将返回值通过管道传输到单独的文件而不是显示的方法?
我玩过配置不同的返回值类型(文本、yaml、JSON)但没有任何运气。还有 --no-pagination参数不会改变行为。
这是我尝试运行的 bash 脚本示例:

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

最佳答案

我自己刚刚遇到这个问题,我能够通过调用 aws cli 作为 AWS_PAGER="" aws ... 来禁用该行为。 .

或者,您可以简单地 export AWS_PAGER=""在(bash)脚本的顶部。

来源:https://github.com/aws/aws-cli/pull/4702#issue-344978525

关于bash - 如何关闭 AWS CLI 返回值的寻呼机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60122188/

相关文章:

linux - 使用十六进制位置从文件中删除行

string - sed 删除字符的第一个实例和第二个实例之间的所有内容?

php - Laravel - 队列 worker ,高 CPU

amazon-web-services - AWS lambda 丢失了一些 SQS 事件,导致消息丢失

amazon-web-services - 多个 SQS 队列与 1 个 SNS 主题

bash:防止重定向函数的错误与输出混合

linux - 在 PS1 之后添加一个换行符

amazon-web-services - 使用 AWS Codebuild 时如何读取 SSM 参数?

windows - 找不到 Docker entrypoint.sh

amazon-web-services - 环境层 : Web Server or Worker for Setting up Elastic Beanstalk TVM?