O preenchimento automático de variáveis da Bash adiciona espaço em branco adicional no final

5

Quando executo um preenchimento automático de uma variável bash, um espaço em branco adicional é adicionado no final.

$FO[TAB]

- >

$FOO" " 

Eu adicionei as aspas para indicar o espaço em branco. O problema é que algumas variáveis que usamos são diretórios e o espaço em branco é chato, já que ele precisa ser removido e um / precisa ser digitado. É de alguma forma possível configurar um comportamento como este

$FO[TAB]

- >

$FOO/

ou

cd $FO[TAB]

- >

cd $FOO/
    
por Zanon 24.05.2013 / 10:07

2 respostas

1

Melhor resposta tardia do que nada ...

Os nomes convenientes do diretório de conclusão em variáveis foram implementados no bash 4.3. O bash 4.3 verifica se uma variável shell se expande para um nome de diretório e acrescenta / à palavra conforme apropriado.

    
por 19.02.2015 / 13:16
-1

Eu tive o mesmo problema no CentOS 7 com o bash 4.2. Não consegui encontrar nenhuma solução / solução alternativa na Internet. "yum upgrade bash" também não ajudou.

Finalmente, decidi compilar / instalar a última versão bash (no tempo 4.4). Eu simplesmente segui este blog: Como instalar o Bash 4.4 nas distribuições do Linux

A conclusão de tabulação funciona conforme o esperado em 4.4. Parece que este é um bug no 4.2.

Por favor note: Depois de "make install" o executável está localizado em / usr / local / bin / (/ bin / bash permanece intacto) então você quer ajustar / etc / passwd para fazer da nova versão o shell de login padrão para usuários.

HTH

    
por 29.08.2017 / 19:15

Tags