This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why does ls command sometimes case sensitively misbehave?

>>>On Thu, 15 Aug 2002, Geoffrey Scheller wrote:
>>>> Why is ls doing this?  Other commands, like vi, also show
>>>> this behavior:
>>>>     $ touch foo
>>>>     $ ls
>>>>     foo
>>>>     $ ls foo
>>>>     foo
>>>>     $ ls FoO
>>>>     FoO
>>>>     $ ls fo*
>>>>     foo
>>>>     $ ls Fo*
>>>>     ls: Fo*: No such file or directory
>>>> $ bash --version
>>>> GNU bash, version 2.05b.0(2)-release (i686-pc-cygwin)
>>>> Copyright (C) 2002 Free Software Foundation, Inc.
>>>> Cygwin DLL version 1.3.12-2
>>>> I run Cygwin on Windows XP Professional.
>>>> Thanks,
>>>> Geoffrey
>>>What you're seeing is the behavior of the shell's filename globbing, not
>>>of ls or vi.  What is the value of your CYGWIN environment variable?
>>>it contain "check_case:<smth>"?  Does it contain "glob" or "noglob"
>>>(although that, IIRC, is only for command shell windows)?  What are the
>>>options of bash itself (`set | grep SHELLOPTS`)?
>>>    Igor
>> $ shopt nocaseglob
>> nocaseglob      off
>> At first that is what I thought, but
>>     $ ls
>>     foo
>>     $ ls 'Foo'
>>     Foo
>> I think shell globbing is OK.
>>     $ echo 'FoO' fo* FoO*
>>     FoO foo FoO*
>> Problem still there whether or not I have turned on case sensitive
>>     $ shopt -s nocaseglob
>>     $ echo 'FoO' fo* FoO*
>>     FoO foo foo
>>     $ ls FoO
>>     FoO
>> I think it is a little bit subtler.
>> Geoffrey
>Did you try it under other shells (sh, ksh, tcsh)?  Did you try it under
>the command prompt?  And what is the value of your CYGWIN environment
>variable?  I think you might have a "check_case:adjust" in there...
>	Igor

    $ set | grep SHELLOPTS

Also, CYGWIN environment variable not defined (Sorry I missed this on
previous thread).
    $env | grep CYGWIN

Same behavior under sh and tcsh.  Don't have ash or ksh installed.  Also
same behavior when under

    $ C:\CYGWIN\HOME\GEOFFREY\TEST>\cygwin\bin\ls FoO

Actually dir gets the name right.  (First time I ever saw dir do something
better than ls)

    C:\cygwin\home\Geoffrey\Test>dir FoO
    Volume in drive C has no label
    Volume Serial Number is 3C08-4BE4

    Directory of C:\cygwin\home\Geoffrey\Test

    08/15/2002  06:35 PM                 0 foo
               1 File(s)              0 bytes
               0 Dir(s)   4,451,311,616 bytes free

This is not a show stopper, but is irksome if I have a C and C++ by the same
name like bar.c and bar.C.  Thanks for your help.

What is the behavior on other peoples Cygwin systems?


Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]