Ok, es scheint keinen guten Weg zu geben. Ich übermittle diese Antwort (obwohl ich sie nicht akzeptiere) als eine mögliche Lösung, die ich wahrscheinlich kurzfristig einsetzen werde.
Sie können einfache Array-Antworten als durch Leerzeichen getrennte Listen zusammenstellen und sie dann wie folgt in Bash-Arrays parsen:
$ read ANS $ these are four values $ ANS=($ANS) $ for a in "$" do $ echo "Answer: $a" $ done $ $ # Outputs: $ # $ # Answer: these $ # Answer: are $ # Answer: four $ # Answer: values
Wenn Sie etwas komplexeres als dies tun müssen, sind Sie offensichtlich vermasselt. Wenn Sie Werte mit Leerzeichen akzeptieren möchten, können Sie die Benutzer auffordern, ihre Werte anzugeben und eval
den eingehenden Wert dann in ein Array umzuwandeln:
$ read ANS $ these are 'four or five' values $ eval "ANS=($ANS)" $ for a in "$" do $ echo "Answer: $a" $ done $ $ # Outputs: $ # $ # Answer: these $ # Answer: are $ # Answer: four or five $ # Answer: values
Wieder nicht ideal, aber das habe ich bis jetzt.