Eu uso muito a Tabchave quando uso o shell (bash).
Mas estou ficando irritado com o que ~
sempre é expandido /home/"user"
. Eu não acho que sempre foi assim; existe alguma maneira de parar esse comportamento?
Um exemplo:
cj@zap:~$ ls ~/
- pressione Tab
cj@zap:~$ ls /home/cj/
Eu gostaria de continuar a ter ~/
e não acabar /home/cj/
.
bash
autocomplete
Johan
fonte
fonte
set expand-tilde off
(padrão ou definida~/.inputrc
).shopt -p direxpand
.Respostas:
Desativar a expansão de til é rápido e indolor. Abra
~/.bashrc
e insira o seguinte:Isso substituirá a função de expansão de
/etc/bash_completion
. Eu recomendo comentar sobre o que ele faz acima da função, caso você queira a expansão de volta no futuro. As alterações entrarão em vigor em uma nova instância.fonte
_expand(){ true; }
é mais curto :)_expand(){ false; }
? @tigtrue
retorna resultado bem-sucedido e resultado bem-sucedido é 0, entãoreturn 0
é igual aotrue
status de saída ereturn 1
é igual afalse
. apenas tentetrue; echo $?
efalse; echo $?
.Com o bash_completion mais recente, parece que você também precisa substituir __expand_tilde_by_ref:
fonte
Ainda mais compacto:
... como ":" é um shell embutido equivalente a "true" :-)
fonte
Uma personalização mais precisa seria
fonte