On Fri, Sep 30, 2016 at 11:50:09PM +0200, Lars Kruse wrote: > Am Fri, 30 Sep 2016 22:02:15 +0200 schrieb Jan-Tarek Butt <ta...@ring0.de>: > > - for pattern in $(eval echo $spec); do > > - find $libdirs -name "$pattern.so*" | sort -u > > + for pattern in $(eval echo "$spec"); do > > + find "$libdirs" -name "$pattern.so*" | sort -u > > Just out of curiosity: do you know, what could be the purpose of the "eval" > construct above? > I would assume that: > for pattern in $spec; do > behaves exactly like: > for pattern in $(eval echo $spec); do > nope. $spec may contain brace expansions, which would not be processed without the eval. (note that regular file globs *are* processed even without it).
whether quotes are added here or not doesn't matter at all, because eval sees all arguments as a single string anyway - if you wanted to quote/escape anything, the string itself would have to contain the quotes/backslashes. so if it's about good style, this should be written as eval "echo $spec". fwiw, i also used $(eval echo $foo) for whitespace normalization before. ugly, but short and effective. _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev