
Accidentalmente escribí el comando export
en el emulador de mi consola (ejecutando Bash) en lugar de export -p
, y ahora todos los scripts bash_completion están persistentemente en mi entorno, incluso sobreviviendo al reinicio. Me gustaría deshacerlo pero no he podido resolverlo después de algunas horas. Llegué tan lejos como para encontrarlos en /etc/bash.bashrc pero no veo cuál es la fuente de eso y, en cualquier caso, todavía no puedo entender cómo o por qué export
sin argumentos puede causar tal daño.
Esto está en Knoppix, en la cuenta no raíz knoppix
. Cuando tengo su -
la cuenta raíz no tengo ese problema.
[actualización: no sé de qué estoy hablando. Por "entorno" me refiero a la salida del set
Bash incorporado, que era donde se mostraban las funciones. Debería estar usando env
. De todos modos, lo que pasó fue que he estado usando set
en mis Makefiles para probar la generación de ciertos valores, y me sorprendió ver de repente todas esas funciones en la salida. Luego, después de reiniciar, verifiqué desde la línea de comando y todavía los vi, sin pensar en verificar desde el Makefile (desde el cual ya no se muestran, no se exportan. Entonces, problema resuelto; obviamente estuvieron en mi set
salida todo el tiempo, simplemente no lo habían hecho). No los noté antes hasta que los escribí accidentalmente export
y los vi en mi make set
salida. Aún así, parece que hay una discrepancia en la documentación de bash con el comportamiento que export
se supone que devuelve una lista de variables exportadas, no exporta todo.)]
Respuesta1
Puede enumerar todas sus variables env
y utilizarlas unset $VARIABLE
para eliminar todas las variables innecesarias de su entorno y así solucionar su problema. Debe tener cuidado de desarmar las variables correctas, porque si desarmar su RUTA, por ejemplo, no podrá ejecutar ningún comando/aplicación.
Si bien esto no explica qué salió mal con sus scripts bash_completion, desharía el error accidental export
.