O que está causando todas essas linhas "declare -x…" quando eu abro um terminal?

14

Quando eu abro um terminal na minha máquina do Fedora (ou ssh nele), eu recebo um monte de linhas como essa antes do prompt:

declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…

O que está causando isso? Isso pode ter ocorrido depois que eu editei meu .bashrc , mas acredito que tudo o que eu mudei foi adicionar outro caminho de diretório para "PATH=".

Atualizar (respondendo a resposta do heavyd ): Eu usei ~/.bashrc , ~/.bash_profile e /etc/bashrc para "declarar" e não encontrou nada.

Eu olhei para /etc/bashrc porque ~/.bashrc contém o seguinte:

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

Não vejo nada nos scripts ~/.bashrc ou ~/.bash_profile , exceto o código acima, "PATH =…", "export…" e "alias…".

Quando executo o script .bashrc (usando " bash ~/.bashrc ") ou o script .bash_profile , vejo a lista de "declara", mas não há mensagens de erro. (Não vejo nada se eu executar /etc/bashrc .)

~./bash_profile é muito simples:

# .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

Resolvido : Obrigado andrew.n , sua sugestão me ajudou a rastreá-lo . Acontece todos aqueles "declarar -x ..." linhas são saída se corre export (por si só), e eu tinha acidentalmente inserido um CR entre "exportação" e "PATH = ..." na minha .bashrc .

    
por Daryl Spitzer 22.07.2009 / 21:25

3 respostas

8

Executar

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

para o bash de inicialização no modo detalhado. Isso imprimirá todas as linhas do arquivo de inicialização à medida que forem lidas e todas as linhas do arquivo de inicialização à medida que forem executadas, copiando a saída para um arquivo chamado foo . Em seguida, você pode procurar em foo para ver o que está causando declare -x a ser chamado.

    
por 23.07.2009 / 04:37
6

Descobri que muitas declarações declare ... são o resultado de ter export sendo executado em algum lugar sem um argumento.

Encontrei uma nova linha acidental no meu .bashrc :

export
VARIABLE=value

Qual deveria ter sido

export VARIABLE=value
    
por 08.05.2016 / 15:02
3

Sim, é provável que seja proveniente do seu .bashrc porque você o editou. Você pode ter introduzido um erro de sintaxe no script que poderia causar a saída.

Você pode ter certeza de que essas linhas existem em seu .bashrc digitando:

grep declare ~/.bashrc

Você deve ver pelo menos as 4 linhas impressas no console. Você também pode tentar executar seu script .bashrc a partir do prompt e ver se algum erro é produzido:

bash ~/.bashrc
    
por 22.07.2009 / 21:43