bash expands $1 in strange new way

Robert Pendell shinji@elite-systems.org
Fri Dec 25 05:06:00 GMT 2009


On Thu, Dec 24, 2009 at 11:49 PM, Mark J. Reed wrote:
> On Thu, Dec 24, 2009 at 10:19 PM, David Arnstein wrote:
>> I have a bash shell script named xplo that worked as desired under
>> cygwin 1.5. It fails under cygwin 1.7.
>
> Your shell script is incorrect, and I don't see how it worked under
> 1.5. This line:
>
>>        set EXPLOR='/cygdrive/c/windows/explorer.exe'
>
> does NOT set a variable named EXPLOR.  Instead, it sets the first
> positional argument ($1) to the string
> "EXPLOR=/cygdrive/c/windows/explorer.exe".  Whatever the old value of
> $1 was, it's now gone.
>
> To fix, get rid of the "set".  In sh and derivatives, "set" sets the
> positional arguments (and optionally flags that affect the shell's
> behavior); it does NOT set variables.  Just use the assignment syntax
> (var=value) by itself for that.
>

Of course I am too slow (by about 15 minutes).  >.<

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list