मैं डिबग करने की कोशिश कर रहा हूं कि लिनक्स के लिए लॉगिन इनिशियलाइज़ेशन पर बैश क्या करता है। मैंने पढ़ा है कि "बैश-एक्स" बैश प्रिंट बना देगा कि यह क्या कर रहा है, लेकिन यह "सेट -x" जैसी खट्टी फाइलों में कमांड नहीं प्रिंट करता है। मैं "सेट -x" का उपयोग नहीं कर सकता, क्योंकि आरंभीकरण इससे पहले कि मैं इसे कॉल कर सकूं। "बैश-एक्स" ओएस एक्स पर ठीक ठीक लग रहा है, लेकिन यह बैश संस्करणों के कारण हो सकता है।
लिनक्स: 3.2.25
ओएस एक्स: 3.2.48
यहाँ लिनक्स पर गैर-आवर्ती व्यवहार का एक अंश दिया गया है:
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 ...
ध्यान दें कि कैसे /etc/profile.d/vim.sh खट्टा है, लेकिन इसके आदेश मुद्रित नहीं हैं। क्या बिना अपग्रेड के एक वर्कअराउंड है? क्या यह संस्करण अंतर के कारण है?