Spustit
env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo
ke spuštění bash v podrobném režimu. Toto vytiskne každý řádek inicializačního souboru při jeho čtení a každý řádek inicializačního souboru při jeho spuštění a zkopíruje výstup do souboru s názvem foo
. Pak se můžete podívat do foo
abyste viděli, co způsobuje declare -x
být zavolán.
Zjistil jsem, že spousta declare ...
příkazy jsou výsledkem export
být někde puštěn bez argumentu.
V mém .bashrc
jsem náhodně našel nový řádek :
export
VARIABLE=value
Což mělo být
export VARIABLE=value
Ano, je pravděpodobné, že pochází z vašeho .bashrc, protože jste jej upravili. Možná jste do skriptu zavedli chybu syntaxe, která by mohla způsobit jeho výstup.
Můžete se ujistit, že tyto řádky ve vašem .bashrc existují, zadáním:
grep declare ~/.bashrc
Měli byste vidět alespoň tyto 4 řádky vytištěné na konzole. Můžete také zkusit spustit skript .bashrc z výzvy a zjistit, zda se nevypisují nějaké chyby:
bash ~/.bashrc