我试着把优秀的例子从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/