Restringindo o preenchimento automático de MSYS (Bash) ao diretório atual

0

Estou usando MSYS no Windows 7 e realmente gosto do recurso de preenchimento automático de TAB do console bash. No entanto, parece que esse recurso consulta todos os diretórios na variável ' $PATH ' do Windows, exigindo que eu diminua consideravelmente minha escolha.

Existe uma maneira de o bash considerar apenas arquivos dentro do diretório atual?

    
por Adrian 06.02.2014 / 16:40

1 resposta

1

No bash (e todos os outros shells que possuem auto-completamento até onde eu sei), quando você começa a digitar o nome de um comando e clica em Tab , o shell irá procurar pelos diretórios em o $PATH e retorna os comandos cujo nome começa com o que você digitou. Dessa forma, você pode executar um comando sem precisar estar no mesmo diretório em que esse executável específico está localizado. Isso torna sua vida muito mais fácil.

Se você estiver interessado apenas em arquivos executáveis no diretório atual, basta adicionar um ./ ao início do nome digitado. ./ significa o diretório atual (pelo menos em sistemas * nix, não tenho certeza se eles alteraram o formato ao portar para o Windows), portanto bash tentará expandir os nomes de arquivos no diretório atual:

$ ls
foo.pl
$ foo <TAB> ## lists many possible completions
$ ./foo <TAB> ## only lists foo.pl
    
por 06.02.2014 / 17:43