Assouplir la casse en console
Ce billet fait echo à l'article "Personnaliser les dossiers par défaut sous Ubuntu", par Michael Zwissig. Il évoque entre autres le fait d'oublier de taper les majuscules en console, pour les dossiers créés par défaut: Images, Documents, Modèles, Téléchargements, Vidéos, Bureau, etc.
Cela me rappelle qu'il est possible de contourner ce problème avec une petite astuce, sans avoir besoin de renommer tous les répertoires en minuscules.
Le tips magique
Il se situe dans .inputrc, qui vient redéfinir le comportement de bash et sh. Ici, nous pouvons le forcer à ignorer la casse en utilisant cette commande:$ echo "set completion-ignore-case On" >> ~/.inputrcSeulement la casse n'est pas totalement supprimée. Si elle n'existait plus, nous ne pourrions plus créer des fichiers de même nom mais différents à quelques majuscules près (comme dans l'OS de monsieur Porte). La casse devient en fait juste "manuelle", c'est à dire qu'il faut l'expliciter manuellement.
Quelques exemples
Comme cela n'est pas très clair, je vais illustrer cette "casse manuelle". Créons ces fichiers de test (j'utilise bash):$ touch exemple EXEmple EXEMPLE exeMPLESi nous tapons cat exe<TAB>, nous aurons ce genre de complétion:
$ cat exe<TAB> $ cat exempleLe mot est complété par "exemple", directement en minuscules car la casse n'est plus prise en compte.
Si nous utilisons cat EXE<TAB>:
$ cat EXE<TAB> $ cat EXEmpleBash remplace la suite encore une fois par les minuscules, vu que la casse doit être ignorée.
Pour manipuler le fichier tout en majuscule, il aurait alors fallu taper cat EXEM<TAB>:
$ cat EXEM<TAB> $ cat EXEMPLEEn effet, bash n'a plus le choix vu qu'il n'existe qu'un seul fichier dont les première lettres en majuscules sont EXEM.
Enfin on l'aura compris, si nous voulons le fichier exeMPLE, nous devrons taper toutes les lettres jusqu'à la majuscule:
$ cat exeM<TAB> $ cat exeMPLEMaintenant que nous avons saisi le truc, il devient facile d'aller dans un répertoire dont le nom commence par une majuscule:
$ mkdir Divers $ cd div<TAB> $ cd Divers
Le mot de la fin
Voila qui peut résoudre le problème de noms en majuscules sur lequel nous sommes nombreux à buter sous bash.Je parle de bash, car ce problème n'existe pas avec zsh, qui gère très bien la casse dans les fichiers sans aide extérieure.
Lien utile
EDIT: Il semblerait que Chicha avait déjà proposé la solution en 2009, donc toutes mes excuses pour cette "remontée" involontaire.