【发布时间】:2020-11-19 00:45:53
【问题描述】:
我正在尝试像这样使用我的函数中的所有参数
function docker_run {
docker run \
-it --rm \
--entrypoint "" \
--volume "$(pwd):/${repo}" \
--workdir "/${repo}" \
alpine/git:v2.26.2 \
"$*"
}
docker_run sh -c "git reset && git add --a && git status"
这给出了错误:
docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:346:启动容器进程导致“exec:“sh -c git reset && git add --a && git status”:在中找不到可执行文件$PATH":未知。
如果我删除 $* 周围的引号,错误是:
用法:git [--version] [--help] [-C ]...
*$ 是要使用的正确变量吗?理想情况下,我希望 docker_run 使用任何可能的参数组合
【问题讨论】:
-
"$*"将单独的参数连接成一个以空格分隔的字符串。使用"$@"保留单词边界。
标签: bash