A partir do bash 4.2, esse comportamento é governado por
shopt -s direxpand # enable
shopt -u direxpand # disable
Consulte o link para obter informações básicas.
Eu defini meus diretórios mais recentes para as variáveis shell d1, d2, etc.
Em uma antiga máquina do Fedora eu poderia digitar um comando como
$ cp $ d1 /
e o shell substituiria $ d1 por texto como / home / acctname / projects / blog / e então mostre-me o conteúdo de ... / blog, como você esperaria que qualquer conclusão de tabulação fizesse.
Agora, tanto o ubuntu wheezy / sid quanto o fedora 16 apenas \ -capa o '$', e naturalmente não há conclusões para mostrar.
Você pode ver esse comportamento em ação em uma janela do Terminal OSX. No 10.8, faça algo como
ls $ HOME / para ver o que quero dizer.
Existe uma variável ou opção do shell bash que pode restaurar o velho comportamento?
man bash
sugere que isso é um erro:
complete (TAB)
Attempt to perform completion on the text before point. Bash
attempts completion treating the text as a variable (if the text
begins with $), username (if the text begins with ~), hostname (if
the text begins with @), or command (including aliases and functions)
in turn. If none of these produces a match, filename completion is
attempted.
Eu recebo a conclusão descrita acima quando um token começa com '~' ou uma letra. Está apenas '$' - conclusão que está quebrada.
A partir do bash 4.2, esse comportamento é governado por
shopt -s direxpand # enable
shopt -u direxpand # disable
Consulte o link para obter informações básicas.
Não tenho certeza se você está solicitando uma solução no seu Mac ou para * nix. Se você estiver perguntando sobre como alterar seu Mac, eu acabei de ler este tutorial simples para atualizar meu bash OSX de
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
Copyright (C) 2007 Free Software Foundation, Inc.
para
GNU bash, version 4.3.42(1)-release (x86_64-apple-darwin15.0.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Tags bash tab-completion