Le terminal d'Ubuntu utilise l'auto-complétion sensible à la casse, comme on pourrait s'y attendre pour Linux.
Mais je pense qu’il serait souvent plus pratique d’utiliser une solution insensible à la casse à la place, pour vous éviter de devoir être précis lors du début d’un nom, et cela vaudrait probablement la peine de vous tromper de faux positifs supplémentaires. Est-il possible de changer ce comportement?
command-line
bash
auto-completion
case-insensitive
Mwfearnley
la source
la source
Réponses:
Afin de rendre la
bash
casse insensible à l'utilisateur actuel:Exécutez le script shell suivant dans un terminal:
Démarrer un nouveau shell (rouvrir le terminal).
Pour effectuer les modifications à l'échelle du système:
Pour plus de détails, voir
man bash
. Oui, la page est longue, mais bash est un programme assez complexe, et si vous souhaitez simplement rechercher dans cette page la mention "insensible à la casse" pour accéder à la section correspondante. Les gens apprennent généralement bash une option à la fois ou un script à la fois et il faut beaucoup de temps pour maîtriser toutes les nuances. Votre intérêt peut varier.la source
>>
plus sûr que>
?$include /etc/inputrc
etset completion-ignore-case on
devrait être dans votre fichier ~ ..inputrc.Ouvrez un terminal et tapez la commande ci-dessous:
Entrer le mot de passe. Redémarrez le terminal.
Si dans certains cas vous souhaitez supprimer la casse, éditez simplement le fichier / etc / inputrc en supprimant la
set completion-ignore-case
ligne.C'est tout.
la source
Je sais que cette question est très ancienne, mais à moins que quelque chose me manque, je pense avoir une solution très simple si vous utilisez bash.
Ou simplement ajouter la ligne en utilisant votre éditeur de texte préféré. Redémarrez votre session bash et profitez-en.
la source
~/.inputrc
est lu par readline, ce que bash utilise pour fournir cette finition. Readline est également utilisé par d’autres programmes, aussi,~/.inputrc
comme indiqué, la réponse acceptée serait préférable.bind 'set completion-ignore-case on'
.bashrc
Vous pouvez le faire en définissant une variable de configuration pour GNU readline, qui gère l’entrée dans un shell interactif.
La variable nécessaire est
completion-ignore-case
et peut être définie directement dans votre session bash avec:Il peut être activé pour toutes les futures sessions bash en le mettant dans le
~/.inputrc
fichier de l'utilisateur , ou dans le système/etc/inputrc
, pour l'activer pour tous les utilisateurs. C'est le fichier d'initialisation pour readline.Mais notez que si vous créez
~/.inputrc
, cela remplacera la copie système . (Pour moi, cela m'a fait perdre certaines correspondances clés, telles queCtrl-Left
/Right
. Vous pouvez voir lesquelles en lisant attentivement le/etc/inputrc
fichier.)Pour résoudre ce problème, placez la ligne
$include /etc/inputrc
en haut de la page~/.inputrc
, par exemple:Pour appliquer les modifications, redémarrez bash ou recharger inputrc , par exemple avec Ctrl+x, Ctrl+r.
Plus d'informations sur readline et inputrc sont disponibles dans
man bash
etman 3 readline
.la source