带有bash变量的JMESPath查询表达式
发布时间:2020-12-16 01:09:22 所属栏目:安全 来源:网络整理
导读:使用简单的aws cli查询来检查是否存在Lambda函数并回显相关角色(如果存在): #!/bin/bashfname=$1role=$(aws lambda list-functions --query 'Functions[?FunctionName == `$fname`].Role' --output text)echo "$fname role: $role" 但是,$fname似乎正在解析
使用简单的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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |