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>.

Reply via email to