F12: bash-completion issues?

Bill Davidsen davidsen at tmr.com
Fri Aug 13 21:15:12 UTC 2010


Daniel B. Thurman wrote:
> On 08/12/2010 03:32 PM, Mikkel wrote:
>> On 08/12/2010 05:26 PM, Daniel B. Thurman wrote:
>>   
>>> On 08/12/2010 03:09 PM, JD wrote:
>>>     
>>>>   On 08/12/2010 02:10 PM, Daniel B. Thurman wrote:
>>>>   
>>>>       
>>>>> Perhaps I am assuming wrong, but it appears that bash-completion
>>>>> is not working for local files in the gnome-terminal?
>>>>>
>>>>> For example, I know there is a file in my desktop called "ListAvailable"
>>>>> so I tried this:
>>>>>
>>>>> # yum list available>  List<tab>
>>>>>
>>>>> and bash completion refuses to locate the local file and to expand it.
>>>>>
>>>>> Is this expected?
>>>>>
>>>>>
>>>>>     
>>>>>         
>>>> In your .bashrc
>>>>
>>>> set complete-file ^I^I
>>>> (that's Control-I twice)
>>>>   
>>>>       
>>> I tried it (logged out and back in) and it does not
>>> change anything.  Same behaviour.
>>>
>>> It is interesting there are different behaviours:
>>>
>>> # L<Tab>
>>> LabPlot       LibraryLocal
>>> # cd Desk<Tab>  (expanded to Desktop, so it worked)
>>> # L<Tab>
>>> LabPlot       LibraryLocal
>>> # List<Tab> (Beeps everytime a Tab is hit, but no list is given)
>>>
>>>
>>>     
>> Dumb question - is there a file List or List<something> in the
>> current directory? From what you describe, it does not sound like
>> there is...
>>
>> As for running "List<Tab>", do you have a command List or
>> List<something> in your path?
>>
>> Mikkel
>>   
> Yes, in the original post, I said that there is a ListAvailable file in
> the Desktop
> directory, so bash-completion does not find any matching file there.  It
> seems
> that bash-completion does not work on local files that are known to be
> there,
> and I tried it on links, and directories (except for "Desktop" which it
> did expand)
> UNLESS it is prefixed with certain commands in front of it, such as:
> 
> # cd ~/Desktop
> # ls List<Tab>
> ListAvailable
> 
> So it worked.
> 
> But these fails:
> # List<Tab>
> # ./List<Tab>
> # yum list available > List<Tab>
> 
The first one fails because you don't have the current directory in your PATH 
(and shouldn't, it's vastly safer to type "./" when you mean it).

The second fails because the file isn't executable, so it's not a command.

The third fails because ListAvailable is not a normal writable file (I don't 
have a guess what it is, though). Enter "ls -ld List*" and it will (probably) 
tell you something useful.

If you are expecting files in the "Desktop" directory to be commands, that's not 
normally the case.

-- 
Bill Davidsen <davidsen at tmr.com>
   "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot



More information about the users mailing list