Mon répertoire _~/Documents
_ est un lien symbolique:
_nathan@nathan-desktop:~$ stat Documents
File: Documents -> /mnt/nathan/extended/Documents
_
Si je veux cd
dans le répertoire, je peux taper:
cdspaceDoctab
... et la complétion de l'onglet ajoutera uments
à la fin de _cd Doc
_ comme prévu. Cependant, not ajoute un _/
_ final, même si le lien symbolique pointe vers un répertoire.
Y a-t-il un moyen de faire ça à Bash?
Activez l'option mark-symlinked-directories
pour READLINE . Il y a plusieurs façons de le faire:
Personnalisez votre readline en plaçant des commandes dans un fichier .inputrc
:
Créez ou éditez ~/.inputrc
et ajoutez ces lignes:
$include /etc/inputrc
set mark-symlinked-directories on
Connexion/Déconnexion ou appuyez sur ctrl+x et ctrl+r pour recharger les paramètres.
Personnalisez votre readline en insérant des commandes dans le fichier .bashrc
(ou dans le fichier .profile
):
Éditez ~/.bashrc
et ajoutez cette ligne:
bind 'set mark-symlinked-directories on'
Log-in/Log-out ou source le fichier:
source ~/.bashrc
Personnalisez la readline pour tous les utilisateurs en créant un fichier .sh
dans le répertoire /etc/profile.d
:
Créez un fichier /etc/profile.d/mark-symlinked-directories.sh
qui devrait ressembler à ceci:
#!/bin/sh
bind 'set mark-symlinked-directories on'
Les autorisations exécutables sur ce fichier ne sont pas nécessaires.
Connexion/Déconnexion. C'est ça.
Lectures complémentaires:
Une façon simple que j'ai trouvée est double tab pour l'achèvement:
cdspaceDoctabtab
La première tab ajoutera uments
, le second ajoutera /
et le troisième imprimera la liste des répertoires contenus.