It's a gmail feature to mangle your input in weird ways when you cut/paste. the line with 'output=""' is separate from the "printf" line. Sorry.
On Tue, Jun 23, 2020 at 12:30 PM Greg Wooledge <wool...@eeg.ccf.org> wrote: > On Tue, Jun 23, 2020 at 12:21:24PM -0700, L A Walsh wrote: > > set output > > output=""printf ${1:+-v $1} "%s:%s" 23 myproc > > -Bash: printf: ` output': not a valid identifier > > Your command is simply wrong. You've got two double-quotes in a row, > which simply cancel each other out, as they contain only the empty > string. So, you are running this: > > output=printf ${1:+-v $1} %s:%s 23 myproc > > Or in other words, create the environment variable 'output' with content > 'printf' in the temporary environment of the command "output", which is > generated by the unquoted parameter expansion between the assignment > and the %s:%s argument. > > Moreover, the error message you show is *not* the one generated by this > command. > > unicorn:~$ set output > unicorn:~$ output=""printf ${1:+-v $1} "%s:%s" 23 myproc > bash: -v: command not found > > The unquoted parameter expansion ${1:+...} expands to the two words > "-v" and "output", so you are attempting to run a command named "-v". > Thus, the error that I showed. > > Either your email does not contain the actual command you're running, > or you've misrepresented the error message it produces. Or both. > >