Shell 在 mac 终端中工作时,脚本在 alpine linux 上失败

Shell Script failing on alpine linux while working in mac terminal

当 运行 在高山 docker 容器中时,以下行失败:

toDelete=( $(curl --silent $url/_cat/indices\?format=json | jq -r '.[].index | select(startswith('\".kibana\"'))') )

出现以下错误信息:

run.sh: line 1: syntax error: unexpected "("

当我 运行 在 mac 的终端中输入命令时,一切正常。添加括号以便结果(变量 toDelete)被解释为数组,并且可以像这样用 for 循环遍历:

for index in "${toDelete[@]}"; do
    curl -X DELETE $url/$index
done

感谢任何有关如何解决此问题的帮助!

记下答案。

问题出在解释器上。

进行以下更改后有效。

["/bin/ash", "run.sh"]

通过的是

["/bin/sh", "run.sh"]