Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #16638
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: No word splitting for assignment-like expressions in compound assignment |
| Date | 2020-07-28 10:22 -0400 |
| Organization | ITS, Case Western Reserve University |
| Message-ID | <mailman.205.1595946228.2739.bug-bash@gnu.org> (permalink) |
| References | <6614fa7668daf7f2b450e319a28b624c@ispras.ru> <58020735-2ddb-e1a4-a513-a09560876e87@case.edu> |
On 7/23/20 8:11 PM, Alexey Izbyshev wrote: > Hello! > > I have a question about the following behavior: > > $ Z='a b' > $ A=(X=$Z) > $ declare -p A > declare -a A=([0]="X=a b") > $ A=(X$Z) > $ declare -p A > declare -a A=([0]="Xa" [1]="b") > > I find it surprising that no word splitting is performed in the first > compound assignment. I realize that skipping word splitting may be > desirable if a subscript is given (e.g. "A=([0]=$Z)") to make it consistent > with normal variable assignment[1], but in this case it looks like a bug. It's an assignment statement in a context where assignment statements are accepted (which is what makes it different from `echo X=$Z', for instance), but the lack of a subscript on the lhs makes it a special case. I'll take a look at the semantics here. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
Back to gnu.bash.bug | Previous | Next | Find similar
Re: No word splitting for assignment-like expressions in compound assignment Chet Ramey <chet.ramey@case.edu> - 2020-07-28 10:22 -0400
csiph-web