Pregunta

En bash, las variables ambientales se expandirán mediante tabulaciones correctamente cuando se coloquen después de un comando de eco, por ejemplo:

echo $HOME

Pero después de cd o cat, bash coloca \ antes del signo $, así:

cd \$HOME

Si uso una variable como segundo argumento de un comando, no se expandirá en absoluto:

cp somefile $HOM

¿Qué opción misteriosa tengo en mi archivo .bashrc o .inputrc que me está causando tanta angustia?

¿Fue útil?

Solución

Intentar completo -r cd para eliminar la función especial de finalización de programación que muchas distribuciones de Linux instalan para el cd dominio.La función agrega la búsqueda en una lista de directorios especificados en la variable CDPATH para completar tabulaciones para cd, pero a costa de romper el comportamiento de finalización predeterminado.

Ver http://www.gnu.org/software/bash/manual/bashref.html#Programmable-Completion para más detalles sangrientos.

Otros consejos

Lo que estás describiendo es una "característica". introducido en bash 4.2.Así que no tienes ninguna opción misteriosa que te cause angustia, sino sólo un comportamiento "intencionado".

Esto me parece muy molesto ya que lo prefería como solía ser y aún no he encontrado ninguna opción de configuración para recuperar el comportamiento anterior.Jugando con complete Las opciones sugeridas por otras respuestas no me llevaron a ninguna parte.

Para el segundo caso, puede presionar ESC antes de la pestaña para resolverlo.

No conozco la solución a tu problema, pero podrías buscar /etc/bash_completion o los archivos bajo /etc/bash_completion.d para determinar qué comandos utilizan el autocompletado y cómo.

help complete

También podría ser útil.

El manual de referencia de Bash tiene más información de la que podría desear sobre erratas de expansión.

Sección 8.7 Parece que sería el lugar para empezar.Proporciona información sobre la función "completa", entre otras cosas.

¡Estoy respondiendo la pregunta de un niño de 4 años!¡Fantástico!

Este es un error/función de bash que se introdujo involuntariamente en la versión 4.2 y pasó desapercibido durante un largo período de tiempo.Esto fue señalado por geirha en esta pisada.Confirmada como característica no deseada aquí

Me encontré con este problema cuando ejecutaba Ubuntu en casa.En el trabajo tengo bash-3.00, así que pasé algún tiempo navegando para ver qué está pasando.Me pregunto si puedo 'bajar de categoría'...

Comprueba la respuesta parahttps://superuser.com/questions/434139/urxvt-tab-expand-environment-variables por Dmitri Alexandrov:

Se trata de la opción de expansión directa. $ shopt -s direxpand y $FOO_PATH/ será ampliado por TAB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top