Como fazer a conclusão da tabulação anexar barra para links simbólicos do diretório?

3

Meu diretório ~/Documents é um link simbólico:

nathan@nathan-desktop:~$ stat Documents
  File: Documents -> /mnt/nathan/extended/Documents

Se eu quiser cd no diretório, posso digitar:

c d espa D o   c guia

... e a conclusão da guia adicionará uments ao final de cd Doc conforme o esperado. No entanto, ele não acrescenta um / , mesmo que o link simbólico aponte para um diretório.

Existe uma maneira de fazer o Bash fazer isso?

    
por Nathan Osman 06.04.2017 / 20:53

1 resposta

3

Ative a opção mark-symlinked-directories para READLINE . Existem algumas maneiras de fazer isso:

  1. Personalize sua readline colocando comandos em um arquivo .inputrc :

    • Crie ou edite ~/.inputrc e adicione estas linhas:

      $include /etc/inputrc
      set mark-symlinked-directories on
      
    • Login / Logout ou pressione ctrl + x e ctrl + r para recarregar as configurações.

  2. Personalize sua readline colocando comandos no arquivo .bashrc (ou no arquivo .profile ):

    • Edite ~/.bashrc e adicione esta linha:

      bind 'set mark-symlinked-directories on'
      
    • Login / Logout ou fonte do arquivo:

      source ~/.bashrc
      
  3. Personalize a readline para todos os usuários criando um arquivo .sh no diretório /etc/profile.d :

    • Crie um arquivo /etc/profile.d/mark-symlinked-directories.sh que deve se parecer com:

      #!/bin/sh
      bind 'set mark-symlinked-directories on'
      

      Permissões executáveis para este arquivo não são necessárias.

    • Login / Logout. É isso.

Leitura adicional:

Uma maneira simples que encontrei é a dupla guia para a conclusão:

c d espa D o   c separador separador

A primeira aba adicionará uments , a segunda adicionará / e a terceira imprimirá a lista de diretórios contidos.

    
por pa4080 06.04.2017 / 22:16