it-swarm-es.com

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

Cuando abro un terminal en mi máquina Fedora (o SSH en ella), recibo 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 haber editado mi .bashrc, pero creo que todo lo que cambié fue agregar otra ruta de directorio a "ruta =".

Actualización (Respondiendo a HeavyD 's Respuesta): I Grep'ed ~/.bashrc, ~/.bash_profile y /etc/bashrc para "declarar" y no encontró nada.

Miré /etc/bashrc porque ~/.bashrc contiene lo siguiente:

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

No veo nada en el ~/.bashrc o ~/.bash_profile Scripts, 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 ejecuto /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 , su sugerencia me ayudó a rastrearlo. Resulta todas esas líneas "Declare -x ..." se emiten si se ejecuta export (por sí mismo), y accidentalmente había insertado un CR entre "Exportar" y "Ruta = ..." en mi .bashrc.

15
Daryl Spitzer

Correr

env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo

para iniciar Bash en modo verboso. Esto imprimirá cada línea de archivo de inicialización a medida que se lee, y cada línea de archivo de inicialización a medida que se ejecute, copiando la salida a un archivo llamado foo. Luego, puede mirar en foo para ver qué está causando declare -x ser llamado.

8
andrew.n

Descubrió que muchos de declare ... Las declaraciones es el resultado de tener export ejecutarse 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
6
jgeewax

Sí, es probable que viene de su .bashrc porque lo editó. Es posible que haya introducido un error de sintaxis en el script que podría causar que se emita.

Puede asegurarse de que estas líneas existan en su .bashrc escribiendo:

grep declare ~/.bashrc

Debe ver al menos las 4 líneas impresas a la consola. También puede intentar ejecutar su script .bashrc desde el mensaje y ver si se emiten errores:

bash ~/.bashrc
3
heavyd