On Sun, Sep 16, 2018 at 08:35:57PM -0500, Brett Neumeier wrote: > On Sun, Sep 16, 2018 at 5:49 PM Colin Booth <[email protected]> wrote: > > > I think I know what is going on. I assume you're running this on the > > commandline? If so, the shell is splitting prefix${FOO}postfix into > > three words ("prefix", "$FOO", "postfix"), then importas is deleting the > > middle one. If you write this as a full execline script like so: > > $ execlineb -c 'importas FOO FOO echo prefix${FOO}postfix' > > you'll see the full word deletion in action. > > > > Ha, it was definitely a brain cloud, but it wasn't that. bash was, of > course, replacing ${FOO} with an empty string before running the importas > command. > > The expected behavior does indeed show up if you single-quote that word so > that bash leaves it alone: > > $ importas FOO FOO echo 'prefix${FOO}postfix' > > $ > Glad that worked for you. Generally speaking when I'm doing oneliner execline testing I send the whole thing to execlineb -c in order to guarantee that the shell isn't breaking anything. This matters even more when you start using stuff that needs blocks.
-- Colin Booth
