Não é possível obter 'match-hidden-files' para funcionar

1

Eu tenho tentado fazer com que o 'match-hidden-files' funcione no bash 4.3.11, mas não consigo. Eu queria ter certeza de que não é algo que estou fazendo de errado.

$ grep match-hidden-files .inputrc 
set match-hidden-files on

Aqui estão as pastas de exemplo:

$ ls -ld .icon*
lrwxrwxrwx 1 victor victor   57 Oct 20 10:39 .icons -> /home/victor/Sync/BitTorrentSync/victor/ConfigFiles/icons
drwxrwxr-x 2 victor victor 4096 Nov  2 00:14 .icons2
-rw-rw-r-- 1 victor victor    0 Nov  2 00:55 .icons3
drwxrwxr-x 2 victor victor 4096 Nov  2 00:59 .icons4

Quando eu digito 'cd ico' (sem o '.') e pressiono a tecla Tab nada acontece. Eu esperaria ver isso:

$ ls .ico
.icons/  .icons2/ .icons3  .icons4
    
por victorbrca 02.11.2014 / 06:17

1 resposta

1

Você não deve esperar ver cd ico Tab para corresponder a qualquer coisa que comece com . , já que você já deu o início do nome do arquivo.

A página man não é muito explícita:

match-hidden-files (On)
       This variable, when set to On, causes readline to  match  files
       whose  names  begin  with  a '.' (hidden files) when performing
       filename completion.  If set to Off, the leading  '.'  must  be
       supplied by the user in the filename to be completed.

Se você ls Tab e você tiver set match-hidden-files on (o padrão), ele será alterado para ls .icons na primeira Guia e para:

$ ls .icons
.icons/  .icons2/ .icons3  .icons4/

no segundo Tab , e se você o tiver configurado para off , não irá.

Quando começar com ls ico , não colocará retroativamente o ponto antes do i , qualquer que seja o valor de match-hidden-files .

Por favor, note que você precisa iniciar um novo bash para verificar quaisquer alterações em ~/.inputrc , ele não é relido para novos comandos. Como indicado, o match-hidden-files default é on , então você não precisa defini-lo explicitamente.

    
por 02.11.2014 / 06:46