Bash verwenden können: cat <(echo "$FILECONTENT")
Wie Eingang Rohr zu einer Bash while-Schleife und bewahren Variablen nach Schleife endet
Bash lassen auch verwenden: while read i; do echo $i; done </etc/passwd
zu kombinieren vorherigen zwei dieser verwendet werden können: echo $FILECONTENT | while read i; do echo $i; done
Das Problem mit der letzten ist, dass es Sub-Shell erstellt und nach der While-Schleife endet die Variable i
kann nicht mehr zugegriffen werden.
Meine Frage ist:
Wie so etwas zu erreichen: while read i; do echo $i; done <(echo "$FILECONTENT")
oder mit anderen Worten: Wie kann ich die i
überleben while-Schleife sicher sein?
Bitte beachten Sie, dass ich während Aussage bewusst bin in {}
einschließe aber das löst nicht das Problem (man stelle sich, dass Sie die while-Schleife in der Funktion verwendet werden soll und das Rück i
Variable)
http://mywiki.wooledge.org/BashFAQ/024 – tripleee
In Verbindung stehend: https://stackoverflow.com/questions/37229058/append-to-an-array-variable-from-a-pipeline-command. Erläutert alle Optionen einschließlich der unten genannten Prozessvertretung und 'lastpipe' und deren Vor- und Nachteile. –
Related: [Eine Variable innerhalb einer While-Schleife geändert wird nicht erinnert] (https://stackoverflow.com/questions/16854280/a-variable-modified-inside-a-while-loop-is-not-remembered). – codeforester