On Fri, Mar 04, 2016 at 02:03:15PM +0100, Michael J Gruber wrote: > >> -test ! -z "$debug" || remove_trash=$TRASH_DIRECTORY > >> +test ! -z "$debug" || remove_trash="$TRASH_DIRECTORY" > > > > I don't think this does anything. The shell doesn't do whitespace > > splitting on the right-hand side of a variable assignment: > > > > $ foo='lots of spaces and "!'\'' funky chars' > > $ bar=$foo > > $ echo "$bar" > > lots of spaces and "!' funky chars > > > > Of course we _do_ need quotes when we refer to $remove_trash as an > > argument (as with "$bar" above), but it looks like we do so correctly > > everywhere. > > I'm used to that behavior, yes, but: > > - Is this true for every shell that we support? It better be, because we rely on it all through our scripts. :) But yes, it is in POSIX, and I think any shell which did not respect it would be broken enough to be unusable (I don't have a copy of Solaris /bin/sh handy, but that's usually our go-to for "unusably broken"). > - Having quotes there, too, is a good reminder to have it also where > necessary. We do already quote variable assignments unnecessarily in lots of places, so I don't mind it too much (it's definitely not _wrong_ to do so). -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html