¿Qué está causando todas estas líneas de "declarar -x ..." cuando abro un terminal?


15

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_profiley /etc/bashrcpara "declarar" y no encontré nada.

Lo miré /etc/bashrcporque ~/.bashrccontiene lo siguiente:

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

No veo nada en los scripts ~/.bashrco ~/.bash_profileexcepto el código anterior, "RUTA = ...", "exportar ..." y "alias ...".

Cuando ejecuto mi .bashrcscript (usando " bash ~/.bashrc") o .bash_profilescript 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.


mira en /etc/profile.d/
freiheit el

¿Qué debo buscar en /etc/profile.d/? ¿Qué son todos esos archivos? (Quizás debería crear una nueva pregunta al respecto.)
Daryl Spitzer

Gracias. En mi caso, también fue la CR entre exportación y RUTA :)
Marlar

Respuestas:


8

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 mirar foopara ver qué está causando declare -xque se llame.


6

Descubrí que muchas declare ...declaraciones son el resultado de haber exportsido ejecutadas en algún lugar sin un argumento.

Encontré una nueva línea accidental en mi .bashrc:

export
VARIABLE=value

Que debería haber sido

export VARIABLE=value

Si. Esta es la respuesta correcta. Si escribe "exportar" solo en su terminal, verá la misma salida declarar -x.
Sterling Bourne

¡Sí, esto se aplica a mí! Accidentalmente puse el contenido de exportación en la próxima línea nueva. Los puse en la misma línea y funciona.
fanchyna

3

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:

grep declare ~/.bashrc

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:

bash ~/.bashrc
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.