Durante mucho tiempo configuré los directorios visitados más recientemente en las variables de shell d1, d2, etc.
En una máquina antigua de Fedora podría escribir un comando como
$ cp $ d1 /
y el shell reemplazaría $ d1 con texto como / home / acctname / projects / blog / y luego me mostraría el contenido de ... / blog, como es de esperar que se complete cualquier tabulación.
Ahora, tanto ubuntu wheezy / sid como fedora 16 simplemente \ -escape the '$', y, naturalmente, no hay terminaciones para mostrar.
Puede ver este comportamiento en acción en una ventana de Terminal OSX. En 10.8, haz algo como
ls $ HOME / para ver a qué me refiero.
¿Existe una opción u variable de shell bash que pueda restaurar el comportamiento anterior?
man bash
sugiere que esto es un error:
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.
Obtengo la finalización descrita anteriormente cuando un token comienza con '~' o una letra. Es solo '$': la finalización está rota.