Shell: "Afficher toutes les 2588 possibilités?"

16

Donc, je déplaçais mon ordinateur portable (et j'ai la mauvaise habitude de mettre les choses sur le clavier ...) et je me suis réveillé pour découvrir ceci:

$
Afficher les 2588 possibilités? (o ou n)

Quelle commande afficherait quelque chose comme ça?

J'utilise Bash.

user3082
la source
15
achèvement <TAB> probablement
mikeserv
8
Oui, appuyez deux fois de suite sur Tab à l'invite bash, vous verrez cela.
glenn jackman
5
Vous devriez abandonner quelque peu cette mauvaise habitude. Cette fois, ce n'était que la fin de l'onglet, la prochaine fois que c'est votre rapport critique d'entreprise qui subit des changements subtils mais critiques. Voyez-le comme ceci: En tant que menuisier, vous ne mettriez pas quelque chose sur la scie circulaire.
phresnel
Ouais, je ne lance rien qui soit / a de l'argent sur mon Unix. Juste des informations que j'aime collecter. Notes pour moi, petits scripts, programmation de doodads. Rien d'intéressant ni de véritable importance. Si tout ce que vous avez est de la ferraille, peu vous importe si la scie à chantourner la mange.
user3082
Merci. Cela m'est arrivé lorsque j'essaie de copier coller un script dans le terminal avec TABS au lieu de SPACES.
SurpriseDog

Réponses:

23

Appuyer sur la TABtouche vous aide à compléter automatiquement une commande ou un fichier / répertoire (tant qu'il est exécutable) que vous souhaitez utiliser, selon ce que vous demandez.

Une double pression sur la TABtouche vous aide à afficher les éléments disponibles que vous pouvez utiliser pour la prochaine.

par exemple

Achèvement de la commande:

Je veux éditer ma crontab. Taper crontet frapper TABalors je vais voir ma commande complète: crontab.

Achèvement du fichier / répertoire:

Je veux sauvegarder ma crontab. crontab -l >>Tapez quelques mots de la destination /ho TABpuis je verrai:, /home/tapez ensuiteus TAB puis je verrai:/home/user/

Maintenant, quand vous double-cliquez TAB touche sans taper quelque chose, l'invite attend quelque chose, elle voudra donc vous aider à afficher toutes les possibilités. Avec l'invite vide, il attend une commande ou un fichier / répertoire, il voudra donc afficher toutes les commandes disponibles pour vous et tous les fichiers / répertoires situés dans le répertoire où vous vous trouvez.

La 2588 possibilitiessortie, signifie la quantité totale de commandes / fichiers / répertoires disponibles pour taper.

tachomi
la source
16

Cela se produit lorsque vous appuyez sur la touche espace (invisible) puis sur la touche TAB deux fois (achèvement bash). Les 2588 possibilités d'affichage sont probablement les fichiers / répertoires de votre répertoire de travail actuel lorsque vous appuyez sur la combinaison de touches de fin d'espace + bash.

Matías
la source
8
Ou, les fichiers exécutables dans le chemin, si c'était au début d'une ligne. Cela expliquerait pourquoi il y en a tellement.
Emil Jeřábek soutient Monica
J'ai fait un test, reproduisant la commande, puis définissant PATH = "", exportez PATH et essayez à nouveau et le résultat est le même. Juste les fichiers à $ PWD
Matías
2
Faites-le sans espace, juste au début de la ligne. Que cela fonctionne réellement dépend des paramètres du shell: si rien ne se passe, essayez d' complete -E -cabord.
Emil Jeřábek soutient Monica
Vrai. complete -E -c a fait l'affaire;)
Matías
7

Taper TABdeux fois ou plus d'affilée vous le montrera.

Noir
la source
2

J'utilise la complétion d'onglets tout le temps pour économiser sur la frappe. Je ne pensais absolument pas à son utilisation lorsque je n'effectuais pas de chaîne de commande.

"\ t" reçoit une cloche

"\ t" reçoit une cloche

"\ t \ t" obtient une liste de répertoires

"\ t \ t" obtient l'affichage de toutes les possibilités (et puis si je tape "\ t" après cela sur une nouvelle ligne de commande, je le récupérerai à la place d'une cloche)

user3082
la source
0

Selon https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion.html

Lorsqu'une tentative de complétion de mot est tentée pour un argument d'une commande pour laquelle une spécification de complétion (une spécification comp) a été définie à l'aide de la fonction intégrée complète (voir la section Modules de complétion programmables), les fonctions de complétion programmables sont appelées.

HVNSweeting
la source
0

En appuyant trois fois sur la touche Echap, ce message s'affiche.

FA Khan
la source
2
Ce n'est pas correct. Quels trois ESC sont censés faire?
dr01
Je viens de mentionner ce que j'ai remarqué. Rien d'autre à dire.
FA Khan
c'est inhabituel, mais en effet, toucher ESC trois fois apparaît Display all 2588 possibilities?sur Windows10 en utilisant git bash
Maxim Koretskyi