>>
>> I can not tell if this is expected behavior or a bug.
>>
>> On my desktop I created a folder ( this is really a directory in
>> $HOME/Desktop and why do we call them folders? For Mac people? ) called
>> "My Docs" ( without the quotes ) and then took a screenshot and saved it
>> in there.
>>
>> I opened a terminal.
>>
>> I use /bin/ksh93 as my default shell.
>>
>> I cd Desktop
>>
>> $ cd Desktop/
>> $ ls -lap
>> total 15
>> drwxr-xr-x  3 dclarke csw    7 2008-12-09 08:37 ./
>> drwxr-xr-x 24 dclarke csw   36 2008-12-09 08:56 ../
>> -rw-r--r--  1 dclarke csw 3025 2008-12-09 08:33 addmoresoftware.desktop
>> drwxr-xr-x  3 dclarke csw    4 2008-12-09 08:47 My Docs/
>> -rw-r--r--  1 dclarke csw 1786 2008-12-09 08:33
>> opensolaris-next-steps.desktop
>> -rw-r--r--  1 dclarke csw    0 2008-12-09 08:33 .os-icons-installed
>> -rw-r--r--  1 dclarke csw 1714 2008-12-09 08:33
>> register-opensolaris.desktop
>>
>> I then figure I'll take advantage of tab completion and cd into that
>> directory "My Docs". I type the letters "cd" followed by a capital "M"
>> and
>> hit tab, this is what I get :
>>
>> $ cd 'My Docs/
>>
>> So I hit enter and get :
>>
>> $ cd 'My Docs/
>> >
>>
>> Not exactly expected behavior.
>>
>> Hitting enter does not help at this point as I simply get another ">"
>> char
>> on a newline.  A CTRL-C stops this and I get my "$" prompt back and I am
>> in the same directory. Looks like I need to add the single quote char to
>> get what I want ?
>>
>> $ cd 'My Docs/'
>> $ pwd
>> /export/home/dclarke/Desktop/My Docs
>>
>> Yes. That works,
>>
>> Perhaps the space char is the issue here ?
>>
>> Let's try an experiment.
>>
>> $ cd ..
>> $ mkdir foo
>> $ cd foo/   <--- I type the char "f" here, and hit tab, and then enter
>> $ pwd
>> /export/home/dclarke/Desktop/foo
>> $
>>
>> perfect.
>>
>> Let's try again but with a space char in there now.
>>
>> $ cd ..
>> $ rmdir foo
>> $ mkdir foo\ bar
>>
>> I now type "cd fo" and hit tab to see this :
>>
>> $ cd 'foo bar/
>>
>> Then hit enter :
>>
>> $ cd 'foo bar/
>> >
>>
>>
>> Hit CTRL-C and then see that I do need to add that trailing single quote
>> char myself.
>>
>> $ cd 'foo bar/'
>> $ pwd
>> /export/home/dclarke/Desktop/foo bar
>>
>> feels like a bug but this may be part of some parseing process that
>> intercepts or traps based on some possible sneaky char in the string on
>> the command line. If I am wandering lost in the desert again and simply
>> don't know what I am talking about ( again ) then just say so.
>>
>>
>
> Since the file has a space in it, ksh quotes the while name. However,
> since this is a directory, it places a / at the end and omits

I did notice that the trailing slash was there in both cases. I should
have tested the possibility of a directory name that had a trailing space
as well as a trailing single quote ( ASCII char \047 octal ).

> the trailing ' because it expects that you will type another
> component of the name.  It doesn't know that it is expecting
> a directory rather than a file.

You could spend a lifetime looking at arg[0] there and then trying to
figure out if the user is doing a cd or mkdir or rmdir etc.

> Thus, you need to type the trailing '.
>
> However, I will rethink this and might change this to a more intuitive
> behavior.

Sorry to make more work for you.

Dennis



Reply via email to