gpt4 book ai didi

bash - 带有 bash 变量的 JMESPath 查询表达式

转载 作者:行者123 更新时间:2023-11-29 08:52:23 24 4
gpt4 key购买 nike

使用简单的 aws cli 查询来检查 Lambda 函数是否存在并回显相关角色(如果存在):

#!/bin/bash

fname=$1
role=$(aws lambda list-functions --query 'Functions[?FunctionName == `$fname`].Role' --output text)

echo "$fname role: $role"

但是,$fname 似乎在 aws 命令中解析为空字符串。我试过转义反引号,将 ` 换成 ' 以及其他大量的颠簸编辑(是的,我在调用脚本时在 cl 上传递了一个字符串 :)

如何在 bash 脚本中正确地将变量传递给 JMESPath 查询?

最佳答案

因为整个 JMESPath 表达式都包含在单引号中,所以 bash 不会扩展 $fname 变量。要解决此问题,您可以用双引号将值括起来,然后对 $fname var 使用单引号 ( raw string literals):

aws lambda list-functions --query "Functions[?FunctionName == '$fname'].Role" --output text

关于bash - 带有 bash 变量的 JMESPath 查询表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33131261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com