Conclusão da aba Bash parar de procurar

6

Quando estou digitando no bash e pressiono a tecla "tab" para concluir automaticamente, às vezes leva um tempo significativo. Por exemplo, o arquivo IO para ler diretórios leva > 5 segundos e, portanto, eu estou suspenso esperando que o pedido de inserção seja concluído antes que eu possa continuar digitando. Eu fico frustrado e Ctrl-C para que eu possa refazer o que eu estava digitando.

Ctrl-C é uma infelicidade, pois preciso redigitar tudo novamente. Como posso dizer ao bash para parar de tentar preencher minha solicitação completa automática?

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$
    
por Chris 20.03.2014 / 15:37

2 respostas

1

Acabei de encontrar este aqui .

Use Ctrl+\ . Isso interromperá a conclusão e retornará à sua linha de comando sem perder o comando atual.

    
por 20.09.2017 / 19:51
0

Você pode ter problemas semelhantes sem a conclusão da tabulação. Isso não introduz uma diferença técnica, ou seja, as mesmas soluções se aplicam.

Uma possibilidade é iniciar a pesquisa em segundo plano e gravar o resultado em um FIFO. Você pode ler a partir do FIFO com um tempo limite ( read -t 0.3 ... ).

Acho que vi recentemente uma solução mais simples que os FIFOs aqui ... mas atualmente não me lembro disso. read -t também funciona com um pipeline, mas o acabamento de read não mata as partes anteriores do pipeline e o pipeline retorna somente depois que todas as partes tiverem terminado.

    
por 20.03.2014 / 17:53