Ich versuche das hervorragende Beispiel docker-haproxy von Centos nach Alpine zu übertragen.Übersetzung von Bash zu Ascheshell: wie Arrays durch Eingabe zu behandeln?
Ein Shell-Skript wird verwendet, um eine Liste von Werten, die dem Skript als Parameter übergeben werden, in ein Array zu schreiben und diese Werte sowie deren Index in eine Datei zu schreiben.
Die folgende Bauarbeiten in bash:
ServerArray=${SERVERS:=$1}
...
for i in ${ServerArray[@]}
do
echo " " server SERVER_$COUNT $i >> /haproxy/haproxy.cfg
let "COUNT += 1"
done
aber nicht in Asche (oder sh):
syntax error: bad substitution
Der Fehler bezieht sich
for i in ${ServerArray[@]}
Linie Was die richtige ist Syntax hier? Ich schätze, die Linie
definiert nicht ein Array wie vorgesehen, aber googeln für lange hat mir nicht geholfen.
bash to sh (ash) spoofing sagt
sh offenbar keine Arrays hat.
Wenn ja, wie das Problem dann zu lösen?