[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problem with extra space; setting? cygwin only?

From: Greg Wooledge
Subject: Re: problem with extra space; setting? cygwin only?
Date: Tue, 23 Jun 2020 15:29:19 -0400
User-agent: Mutt/1.10.1 (2018-07-13)

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

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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]