使用简单的 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 查询?