Acabei de encontrar este aqui .
Use Ctrl+\
. Isso interromperá a conclusão e retornará à sua linha de comando sem perder o comando atual.
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.
$
Acabei de encontrar este aqui .
Use Ctrl+\
. Isso interromperá a conclusão e retornará à sua linha de comando sem perder o comando atual.
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.
Tags bash autocomplete