Exécuter
env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo
pour démarrer bash en mode verbeux. Cela imprimera chaque ligne du fichier d'initialisation au fur et à mesure de sa lecture, et chaque ligne du fichier d'initialisation au fur et à mesure de son exécution, en copiant la sortie dans un fichier appelé foo
. Ensuite, vous pouvez regarder dans foo
pour voir ce qui cause declare -x
être appelé.
J'ai compris que beaucoup de declare ...
déclarations est le résultat d'avoir export
être exécuté quelque part sans argument.
J'ai trouvé une nouvelle ligne accidentelle dans mon .bashrc
:
export
VARIABLE=value
Qui aurait dû être
export VARIABLE=value
Oui, il est probable qu'il provienne de votre .bashrc car vous l'avez modifié. Vous avez peut-être introduit une erreur de syntaxe dans le script qui pourrait entraîner sa sortie.
Vous pouvez vous assurer que ces lignes existent dans votre .bashrc en tapant :
grep declare ~/.bashrc
Vous devriez voir au moins ces 4 lignes imprimées sur la console. Vous pouvez également essayer d'exécuter votre script .bashrc à partir de l'invite et voir si des erreurs sont générées :
bash ~/.bashrc