>> >> 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
