Lorsque j'ouvre un terminal sur ma machine Fedora (ou ssh dedans), j'obtiens un tas de lignes comme ceci avant l'invite:
declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…
Qu'est-ce qui cause cela? Cela s'est peut-être produit après avoir modifié mon .bashrc
, mais je crois que tout ce que j'ai changé était d'ajouter un autre chemin de répertoire à "PATH =".
Mise à jour (répondant à la réponse de Heavyd ): J'ai grep'ed ~/.bashrc
, ~/.bash_profile
et /etc/bashrc
pour "declare" et je n'ai rien trouvé.
J'ai regardé /etc/bashrc
parce que ~/.bashrc
contient les éléments suivants:
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
Je ne vois rien dans les scripts ~/.bashrc
ou ~/.bash_profile
à l'exception du code ci-dessus, "PATH =…", "export…" et "alias ...".
Lorsque j'exécute mon .bashrc
script (à l'aide de " bash ~/.bashrc
") ou .bash_profile
mon script, je vois la liste des "déclarations", mais aucun message d'erreur. (Je ne vois rien si je cours /etc/bashrc
.)
~./bash_profile
est très 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
Résolu : Merci andrew.n , votre suggestion m'a aidé à le retrouver. Il s'avère que toutes ces lignes "declare -x…" sont sorties si l'on s'exécute export
(par lui-même), et j'avais accidentellement inséré un CR entre "export" et "PATH =…" dans mon .bashrc
.
la source
Réponses:
Courir
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 lors de sa lecture et chaque ligne du fichier d'initialisation lors de son exécution, en copiant la sortie dans un fichier appelé
foo
. Ensuite, vous pouvez regarderfoo
pour voir ce qui provoquedeclare -x
l'appel.la source
Compris que beaucoup d'
declare ...
instructions sont le résultat d'avoirexport
été exécutées quelque part sans argument.J'ai trouvé une nouvelle ligne accidentelle dans mon
.bashrc
:Qui aurait dû être
la source
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:
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 de voir si des erreurs sont générées:
la source