【问题标题】:Is there a way to pipe the letter q into an aws cli command?有没有办法将字母 q 通过管道传输到 aws cli 命令中?
【发布时间】:2020-11-13 20:15:06
【问题描述】:

有没有办法将字母 q 通过管道传输到 aws cli 命令中,这样我就不必在函数完成时按 q 了? (少说懒惰,多说自动化,这可以说是一回事)。

例如当我上传 Lambda 函数时,会返回 JSON 响应,但我必须按 q 才能触发第二个函数的自动上传。我试过aws lambda.. | q,但无济于事!

【问题讨论】:

  • 这可能会有所帮助:echo "q" | aws lamda ...
  • 这是因为 awscli 由于冗长的结果而强制对您进行分页,而您正试图退出分页?您也许可以使用--no-cli-pager

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


【解决方案1】:

AWS CLI v2 引入了用于命令输出的寻呼机。这允许提前停止请求,而不是在一次调用中检索所有数据。

来自Using AWS CLI pagination options - AWS Command Line Interface

AWS CLI 版本 2 使用客户端寻呼程序进行输出。默认情况下,此功能会通过操作系统的默认寻呼程序返回所有输出。

您可以通过指定:--no-cli-pager 来禁用所有外部分页程序的使用

【讨论】:

  • 感谢您知道我真正在寻找什么。 --no-cli-pager 实际上似乎对我不起作用(也许我需要更新我的 cli,但它似乎是 v2,所以我需要研究一下),export AWS_PAGER="" 似乎确实有帮助,根据这里: stackoverflow.com/questions/60122188/…
  • 我实际上在我的~/.aws/config 文件中使用了cli_pager=。在个人资料级别做同样的事情。
  • 更好! @约翰·罗滕斯坦
【解决方案2】:

TLDR

echo 'q' | { aws lambda.. }

说明

我相信您遇到的问题可能与以下帖子中的问题相似:Read values into a shell variable from a pipe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 2021-08-04
    • 2020-05-04
    • 1970-01-01
    • 2012-08-08
    相关资源
    最近更新 更多