On Sat, Dec 13, 2008 at 09:30:27AM +0100, Andreas Schwab wrote: > "S. Sevki Dincer" <jfcga...@gmail.com> writes: > > > i want to start building a project with ./configure --prefix=... $(myflags) > > where myflags is an executable text file on my path. myflags has the > > following in it: > > printf 'CFLAGS="-O2 -fomit-frame-pointer" ' > > printf 'LDFLAGS="-Wl,-O2"' > > now, when i do that ./configure complains for not recognizing > > -fomit-frame-pointer option, and actually word splitting of bash ruins > > what i wanna do. i want the word splitting of a command substitution > > "to be careful about the quotes in the resulting expansion". is that > > possible? > > Use eval. > > eval ./configure --prefix=... $(myflags) [...]
eval "./configure --prefix=... $(myflags)" as you don't want word splitting nor filename generation in this case. You could also have done: printf 'CFLAGS=-O2 -fomit-frame-pointer|' printf 'LDFLAGS=-Wl,-O2' and then: IFS='|' set -f ./configure --prefix=... $(myflags) Or: cat << EOF CFLAGS=-O2 -fomit-frame-pointer LDFLAGS=-Wl,-O2 EOF and then: IFS=' ' set -f ./configure --prefix=... $(myflags) -- Stéphane