小编Mic*_*l J的帖子

ShellCheck 抱怨我的表达式实际上不是双引号;为什么?

我正在使用 AWS CLI 编写 bash 脚本,并shellcheck给出了一个我认为不正确的错误。我想弄清楚为什么它会吹毛求疵。

这是代码和错误消息:

for server in $(${aws} ec2 describe-instances --query 'Reservations[].Instances[][].{Name: Tags[?Key==`Name`].Value[] | [0]}' --filters "Name=tag:Name,Values=${server_name}*" --output text);
                                                                                                                                                                            ^-- SC2016: Expressions don't expand in single quotes, use double quotes for that.
Run Code Online (Sandbox Code Playgroud)

我无法让代码在 SO 编辑器中正确排列,但^--指向*代码中的 。这部分:

"Name=tag:Name,Values=${server_name}*"
Run Code Online (Sandbox Code Playgroud)

该错误提供了一个指向 ShellCheck 文档的链接以供参考,但是当我仔细检查所有内容时,看起来我符合要求。:D

我猜这*是在扔东西,我知道我可以通过这样做来解决这个问题,shellcheck -e SC2016但我真的很想知道是什么导致了 shellcheck 出现了鲤鱼。

有任何想法吗?

shell bash shell-script shellcheck

9
推荐指数
1
解决办法
963
查看次数

标签 统计

bash ×1

shell ×1

shell-script ×1

shellcheck ×1