Cuando abro un terminal en mi máquina Fedora (o ssh en él), obtengo un montón de líneas como esta antes de la solicitud:
declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…
¿Qué está causando esto? Esto puede haber ocurrido después de editar mi .bashrc
, pero creo que todo lo que cambié fue agregar otra ruta de directorio a "PATH =".
Actualización (respondiendo a la respuesta de heavyd ): grep'ed ~/.bashrc
, ~/.bash_profile
y /etc/bashrc
para "declarar" y no encontré nada.
Lo miré /etc/bashrc
porque ~/.bashrc
contiene lo siguiente:
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
No veo nada en los scripts ~/.bashrc
o ~/.bash_profile
excepto el código anterior, "RUTA = ...", "exportar ..." y "alias ...".
Cuando ejecuto mi .bashrc
script (usando " bash ~/.bashrc
") o .bash_profile
script veo la lista de "declaraciones", pero no hay mensajes de error. (No veo nada si corro /etc/bashrc
).
~./bash_profile
es muy simple:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
Resuelto : Gracias andrew.n , tu sugerencia me ayudó a localizarlo. Resulta que todas esas líneas "declarar -x ..." se emiten si se ejecuta export
(por sí mismo), y accidentalmente inserté un CR entre "exportar" y "RUTA = ..." en mi .bashrc
.
fuente
Respuestas:
correr
env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo
para iniciar bash en modo detallado. Esto imprimirá cada línea del archivo de inicialización a medida que se lee, y cada línea del archivo de inicialización a medida que se ejecute, copiando la salida a un archivo llamado
foo
. Luego puede mirarfoo
para ver qué está causandodeclare -x
que se llame.fuente
Descubrí que muchas
declare ...
declaraciones son el resultado de haberexport
sido ejecutadas en algún lugar sin un argumento.Encontré una nueva línea accidental en mi
.bashrc
:Que debería haber sido
fuente
Sí, es probable que provenga de su .bashrc porque lo editó. Es posible que haya introducido un error de sintaxis en el script que podría provocar que se muestre.
Puede asegurarse de que estas líneas existan en su .bashrc escribiendo:
Debería ver al menos esas 4 líneas impresas en la consola. También puede intentar ejecutar su script .bashrc desde el indicador y ver si se generan errores:
fuente