我试图像这样使用我函数中的所有参数
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"
这给出了错误:
泊坞窗:来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:346:启动容器进程引起“执行:“ sh -c git reset && git add --a && git status”:在$ PATH中找不到可执行文件“ :未知。
如果我删除$*
错误周围的引号是:
用法:git [--version] [--help] [-C] ...
是*$
使用正确的变量?理想情况下,我想docker_run
使用任何可能的参数组合
如果要使用所有参数,则应使用$@
和而不是$*
。$@
它的特殊之处在于它类似于数组,因此当您将其放在引号中时,它将扩展为所有参数。$*
是将参数与空格连接在一起的字符串,因此它会变成一个参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句