Sto cercando di eseguire il debug di ciò che fa bash sull'inizializzazione dell'accesso per Linux. Ho letto che "bash -x" farà stampare a bash ciò che sta facendo, ma non stampa i comandi nei file di origine come "set -x". Non riesco a usare "set -x" perché l'inizializzazione viene eseguita prima di poterla chiamare. "bash -x" sembra recidere bene su OS X, ma ciò potrebbe essere dovuto alle versioni bash.
Linux: 3.2.25
OS X: 3.2.48
Ecco un estratto del comportamento non ricorrente su 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 ...
Notare come /etc/profile.d/vim.sh proviene, ma i suoi comandi non vengono stampati. Esiste una soluzione alternativa senza aggiornare? Questo è causato dalla differenza di versione?