我试着把优秀的例子从centos转移到alpine。
shell脚本用于处理作为脚本参数给定的值列表,然后将这些值及其索引写入某个文件。
巴什的以下建筑工程:

ServerArray=${SERVERS:=$1}
...
for i in ${ServerArray[@]}
do
  echo "   " server SERVER_$COUNT $i >> /haproxy/haproxy.cfg
  let "COUNT += 1"
done

但不在灰烬(或sh)中:
syntax error: bad substitution

错误指的是行
for i in ${ServerArray[@]}

这里的正确语法是什么?我猜是这条线
ServerArray=${SERVERS:=$1}

并没有按预期定义数组,但长时间的谷歌搜索并没有帮到我。
docker-haproxy
sh显然没有数组。
如果是的话,那么如何解决这个问题呢?

最佳答案

我想我可以用这个结构:

#!/bin/sh
# test.sh
while [ $# -gt 0 ]
do
  echo $1
  shift
done

提供
/ #  ./test 172.17.0.2:3306 172.17.0.3:3306
172.17.0.2:3306
172.17.0.3:3306

这就是我要做的

关于arrays - 从bash到ash shell的转换:如何处理输入定义的数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36264733/

10-10 07:19