On Sat, Oct 05, 2019 at 06:48:35PM +0000, George R Goffe via Bug reports for
the GNU Bourne Again SHell wrote:
> I was expecting to see:
> 12345
> #!./bash -xv
> x="1 2 3 4 5"
> for z in "$x"
> do
> echo "$z"
> done
> exit 0
Not a bug. You've created a string of length 9 characters, and
you've told bash to iterate once, using this string as the contents of
variable z.
If you want to create a *list* and iterate over that list, one element
at a time, use arrays instead of string variables.
x=(1 2 3 4 5)
for z in "${x[@]}"; do
echo "$z"
done
See <https://mywiki.wooledge.org/BashGuide/Arrays> and
<https://mywiki.wooledge.org/BashFAQ/005>.