我目前正在测试 GitHub Actions,快速入门解释了如何将超级 linter 添加到 repo,这是在整个 repo 中应用 linting 的一种简单方法——我喜欢这个想法,所以我将它添加到我的 repo 中,其中一个 linter它适用的是 shellcheck,它在我的一个 shell 脚本上引发了一些错误。
该 shell 脚本docker run
使用以下代码发出:
docker run --rm \
"${INTERACTIVE_MODE_FLAG}" \
${EXTRA_DOCKER_ARGS} \
"${IMAGE}":"${IMAGE_VERSION}" "$@"
Shellcheck 正在抛出SC2086 双引号以防止在${EXTRA_DOCKER_ARGS}
. 我可以通过将代码更改为:
docker run --rm \
"${INTERACTIVE_MODE_FLAG}" \
"${EXTRA_DOCKER_ARGS}" \
"${IMAGE}":"${IMAGE_VERSION}" "$@"
(注意${EXTRA_DOCKER_ARGS}
用引号括起来)
docker:无效的参考格式
如果我添加set -x
到脚本的顶部,它会显示问题所在:
+ docker run --rm -it '' myimage:mytag docker
: 无效的参考格式。
请注意如何将两个额外的撇号添加到命令中。
我的问题很简单......我该如何解决这个问题?我想消除 Shellcheck 错误,但仍然有一个正常运行的脚本。