Achèvement de l'onglet Bash arrêter la recherche

8

Lorsque je tape dans bash et que j'appuie sur la touche "tab" pour terminer automatiquement, cela prend parfois beaucoup de temps. Par exemple, le fichier IO pour lire les répertoires prend> 5 secondes, et donc je suis suspendu en attendant que IO se termine avant de pouvoir continuer à taper. Je suis frustré et Ctrl-C pour pouvoir refaire ce que je tapais.

Ctrl-C est regrettable, car je dois tout retaper à nouveau. Comment puis-je dire à bash d'arrêter d'essayer de répondre à ma demande de fin automatique.

$ /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.
$
Chris
la source
Vous voudrez peut-être y jeter un œil. ubuntuforums.org/showthread.php?t=1865538
Ramesh

Réponses:

1

Je viens de trouver ça ici .

Utilisez Ctrl+\. Il arrêtera l'achèvement et reviendra à votre ligne de commande sans perdre la commande actuelle.

Robin Thoni
la source
Malheureusement, cela n'a pas fonctionné pour moi sur Ubuntu
josh
0

Vous pouvez rencontrer des problèmes similaires sans avoir terminé la tabulation. Cela n'introduit aucune différence technique, c'est-à-dire que les mêmes solutions s'appliquent.

Une possibilité consiste à démarrer la recherche en arrière-plan et à écrire le résultat dans une FIFO. Vous pouvez lire à partir du FIFO avec un délai d'attente puis ( read -t 0.3 ...).

Je suppose que j'ai vu une solution plus simple que les FIFO ici récemment ... mais actuellement je ne m'en souviens pas. read -tfonctionne également avec un pipeline, mais la finition de readne tue pas les parties antérieures du pipeline et le pipeline ne revient qu'après la fin de toutes ses parties.

Hauke ​​Laging
la source
quel est le rapport avec la question…?
lensovet
@lensovet S'il ne semble pas y avoir moyen de résoudre le problème de la manière demandée (c'est-à-dire abandonner la recherche), alors une astuce pour éviter (au moins en partie) le problème me semble très utile.
Hauke ​​Laging