1 votes

Comment faire en sorte que BASH essaie de compléter automatiquement les données lors de la saisie ?

J'ai remarqué que pour de nombreuses commandes que j'utilise dans Bash, j'ai appris combien de lettres de la commande je dois taper avant de pouvoir appuyer sur [TAB] pour que Bash complète la commande avec succès. Par exemple, lorsque j'ouvre Chrome, je ne tape généralement pas toute la commande, mais plutôt

$ chrom[TAB][ENTER]

et bash autocomplète avec succès la commande à chromium avant d'appuyer sur la touche [ENTER]. Existe-t-il un moyen de faire fonctionner l'autocomplétion sans avoir à appuyer sur la touche [TAB] ? Je pense que si je tape

$ chrom[ENTER]

bash pourrait vérifier et voir que chrom n'est pas une commande valide, mais il serait logique de l'autocompléter en chromium puisque c'est la seule commande qui commence par chrom

1voto

lornix Points 10746

Ce n'est qu'une idée, car j'ai l'impression que la touche TAB n'est pas si difficile à atteindre, la mémoire musculaire est une chose étonnante.

Mais si nous voulons un maximum de perversité :

Le Shell BASH possède une fonction impliquant la fonction 'command_not_found_handler', qui est souvent utilisée dans de nombreuses situations comme un notificateur de "commande non trouvée", où il vous indique où vous pourriez trouver plus d'informations sur ce que vous avez mal tapé. Cette fonction est souvent préinstallé dans Ubuntu.

Bien entendu, vous trouverez plus d'informations dans la page du manuel BASH, en cherchant "not_found".

Le présent pourrait être battu en brèche et utilisé pour réaliser votre souhait de "compléter les onglets en cas d'échec^H^H^Henter". Le code réel est laissé à l'appréciation du lecteur.

Je suis tout à fait d'accord avec @Marco pour dire que je veux VRAIMENT avoir un retour d'information en voyant/sachant que ce que j'ai tapé et ce que j'ai obtenu sont substantiellement similaires.

Cela ressemble plus à un projet de Microsoft L'innovation vraiment.

0voto

Michael Durrant Points 1148

Les alias sont certainement votre ami ici, par exemple j'ai :

alias code='cd ~/Dropbox/97_2012/work/ror/code'
alias docs='cd ~/Dropbox/97_2012/work/setups'

Je peux donc simplement taper

$ code

o

$ docs

et je serai placé dans le répertoire approprié.

Vous les mettez dans un .bash_aliases dans votre répertoire personnel (" ~ ").

Vous incluez ceci (et ce code existe probablement déjà) dans votre .bashrc fichier avec :

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Si vous les ajoutez et que vous voulez les voir immédiatement, démarrez une nouvelle session Shell ou exécutez votre .bashrc dans votre session de terminal actuelle, par exemple . ~/.bashrc ou même seulement les alias, . ~/.bash_aliases

Cette approche est meilleure que celle que vous avez décrite initialement pour un tas de raisons et c'est l'approche utilisée par la communauté pour vous donner cette fonctionnalité.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X