对于某些上下文,我使用 shellcheck,它强制执行
"$(..)"
。考虑以下 bash 片段,
ARG=".#dockerImage"
IMAGE_NAME="$(nix eval --json .#packages.x86_64-linux."$1".buildArgs | jq -r '"\(.name):\(.tag)"')"
无法评估错误:
error: '.#packages.x86_64-linux..#dockerImage.buildArgs' is not a valid URL
我需要
"$1"
中的引号,否则 shellcheck 将失败。我如何保留报价并仍然满足 bash?