-3
创建一个行,逗号分隔字符串我有我的Dockerfile命令,我需要运行,这需要一个逗号分隔的字符串作为像这样内Dockerfile
RUN $APPDIR/bin/install.sh --name arg1,arg2
参数但是,同样的理由,在多行写apt-get
(你可以看到在源代码控制更清晰的差异),我愿做这样的事情
RUN args=(\
arg1 \
arg2 \
) && args=$(printf "%s," "${args[@]}") \
&& $APPDIR/bin/install.sh --name "${args%,}"
,当在bash跑了,大家可以看到我拿到逗号分隔的字符串。
$ args=(\
arg1 \
arg2 \
) && args=$(printf "%s," "${args[@]}") \
&& echo "${args%,}"
arg1,arg2
但是,Dockerfile RUN命令必须符合POSIX标准,并且POSIX shell不支持数组。
我基本上得到Unsupported command: "("
这将是很好,如果任何人都可以提供一个更清晰的方式来声明一个列表,并逗号加入。
未来downvoters:请**评论**或添加自己的答案 –