在Mac终端上工作时,Shell脚本在高山Linux上失败

时间:2019-04-15 08:48:35

标签: bash shell alpine

在高山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

感谢您对如何解决此问题的任何帮助!

1 个答案:

答案 0 :(得分:1)

记下答案。

问题出在口译员上。

进行以下更改后即可工作。

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

通过的是

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