访问传递到 docker 运行命令脚本中的参数数



>我有一个看起来像这样的docker 入口点脚本:

#!/bin/sh
LABEL=$1
mkdir -p /backup/$LABEL
...

我可以通过 $1、$2 等以正常 bash 方式访问传递的参数,但我还需要知道传入的参数数量。 起初我以为我可以这样做:

if [ $# -eq 2 ];
  then

但是,这不起作用。 关于如何检索参数数量的任何想法?

TIA,奥莱

很奇怪。这应该有效。但是,如果你能$1$2读取位置参数,你可能会幸运

地循环它们:
#!/bin/bash
params="$@"
while param=$1 && [ -n "$param" ]
do
    shift
    ((count += 1))
    echo "here comes $param"
done
echo "All params: ${params[@]}"
echo "We saw $count of them"

好的 - 实际上,传入的任何内容都没有解决。 原因是入口点行需要如下所示:

ENTRYPOINT ["bash", "/run.sh"]

我的看起来像这样:

ENTRYPOINT ["/run.sh"]

有关更多信息,请参阅此处:引用传递给 docker 入口点的第一个参数?

相关内容

  • 没有找到相关文章

最新更新