bash - que - scripts linux ejercicios resueltos
En bash, las variables ambientales no se expanden con pestañas correctamente (6)
En bash, las variables ambientales se expandirán con pestañas correctamente cuando se coloquen después de un comando echo, por ejemplo:
echo $HOME
Pero después de un CD o un gato, bash coloca un / antes del signo $, así:
cd /$HOME
Si utilizo 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?
Para la segunda instancia, puede presionar ESC antes de tabular para resolverlo.
No conozco la solución a su problema, pero puede buscar en / etc / bash_completion o en los archivos bajo /etc/bash_completion.d para determinar qué comandos usan autocompletado y cómo.
help complete
También podría ser útil.
El Manual de referencia de Bash contiene más información de la que podría desear sobre la errata de expansión.
La Sección 8.7 parece que sería el lugar para comenzar. Proporciona información sobre la función ''completa'', entre otras cosas.
Intente completar -r cd para eliminar la función de finalización programática especial que muchas distribuciones de Linux instalan para el comando cd
. La función agrega buscar 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.
Compruebe la respuesta para https://superuser.com/questions/434139/urxvt-tab-expand-environment-variables por Dmitry Alexandrov.
"Esto es sobre la opción direxpand.
$ shopt -s direxpand y $ FOO_PATH /
será expandido por TAB "
¡Estoy respondiendo una pregunta de 4 años! ¡Fantástico!
Esta es una falla / función de bash que se introdujo involuntariamente en v4.2 y que pasó desapercibida durante un largo período de tiempo. Esto fue señalado por geirha en este dibujo . Confirmado como característica no intencionada aquí
Me encontré con este problema al ejecutar Ubuntu en casa. En el trabajo tengo bash-3.00, así que he pasado un tiempo navegando para ver qué está pasando. Me pregunto si puedo ''degradar'' ...
Lo que estás describiendo es una "característica" introducida en bash 4.2 . Por lo tanto, no tiene ninguna opción misteriosa que le cause angustia, sino un comportamiento "intencionado".
Encuentro esto 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. Jugar con las opciones complete
sugeridas por otras respuestas no me llevó a ninguna parte.