J'essaie de déboguer ce que bash fait sur l'initialisation de la connexion pour Linux. J'ai lu que "bash -x" fera bash imprimer ce qu'il fait, mais il n'imprime pas les commandes dans des fichiers sources comme "set -x". Je ne peux pas utiliser "set -x" car l'initialisation s'exécute avant de pouvoir l'appeler. "bash -x" semble fonctionner correctement sous OS X, mais cela pourrait être dû aux versions bash.
Linux: 3.2.25
OS X: 3.2.48
Voici un extrait du comportement non récurrent sur Linux:
bash -l -x -c 'echo 1'
# ... snip ...
+ for i in '/etc/profile.d/*.sh'
+ '[' -r /etc/profile.d/vim.sh ']'
+ '[' '' ']'
+ . /etc/profile.d/vim.sh
+ for i in '/etc/profile.d/*.sh'
+ '[' -r /etc/profile.d/which-2.sh ']'
+ '[' '' ']'
+ . /etc/profile.d/which-2.sh
# ... snip ...
Remarquez comment /etc/profile.d/vim.sh provient, mais ses commandes ne sont pas imprimées. Existe-t-il une solution de contournement sans mise à niveau? Est-ce dû à la différence de version?