Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #15478
| From | Greg Wooledge <wooledg@eeg.ccf.org> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: Is this a bug by any chance? |
| Date | 2019-10-07 08:47 -0400 |
| Message-ID | <mailman.1215.1570452489.2651.bug-bash@gnu.org> (permalink) |
| References | <99440807.4131727.1570301315442.ref@mail.yahoo.com> <99440807.4131727.1570301315442@mail.yahoo.com> <20191007124737.GM28751@eeg.ccf.org> |
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>.
Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread
Re: Is this a bug by any chance? Greg Wooledge <wooledg@eeg.ccf.org> - 2019-10-07 08:47 -0400
csiph-web