J'utilise Tabbeaucoup la clé lorsque j'utilise le shell (bash).
Mais ça m'énerve de ~
toujours être élargi /home/"user"
. Je ne pense pas que ça a toujours été comme ça; existe-t-il un moyen d'arrêter ce comportement?
Un exemple:
cj@zap:~$ ls ~/
- presse Tab
cj@zap:~$ ls /home/cj/
Je voudrais continuer à avoir ~/
et ne pas me retrouver avec /home/cj/
.
bash
autocomplete
Johan
la source
la source
set expand-tilde off
(par défaut ou défini dans~/.inputrc
).shopt -p direxpand
.Réponses:
Désactiver l'expansion de tilde est rapide et indolore. Ouvrez
~/.bashrc
et insérez ceci:Cela remplacera la fonction d'expansion de
/etc/bash_completion
. Je recommanderais de commenter ce qu'il fait au-dessus de la fonction au cas où vous souhaiteriez l'extension à l'avenir. Les modifications prendront effet dans une nouvelle instance.la source
_expand(){ true; }
est plus court :)_expand(){ false; }
? @tigtrue
renvoie un résultat réussi et un résultat réussi est 0,return 0
est donc égal àtrue
dans l'état de sortie etreturn 1
est égal àfalse
. essayeztrue; echo $?
etfalse; echo $?
.Avec la nouvelle bash_completion, il semble que vous devez également remplacer __expand_tilde_by_ref:
la source
Encore plus compact:
... as ":" est un shell intégré équivalent à "true" :-)
la source
Une personnalisation plus précise serait
la source