@ इकारस का शानदार समाधान फ़ंक्शंस के लिए काम करता है, जब तक कि वे शाब्दिक रूप से परिभाषित न हों और evalकिसी अन्य फ़ाइल की सामग्री का परिणाम न हो (जिसमें फ़ाइल evalस्रोत के रूप में दिखाई देगी)। यह उपनामों, शेल बिल्ट-इन (जैसे echo) और निष्पादन योग्य (बाइनरी या नहीं) के स्रोत फ़ाइल को प्रिंट नहीं करेगा , और मेरा मानना है कि यह जानकारी सामान्य रूप से उपलब्ध नहीं है। कुछ कमांड्स अपनी स्रोत फ़ाइलों को प्रिंट कर सकती हैं (और इसके बारे में सत्य भी हो सकती हैं), या तो सामान्य निष्पादन के दौरान या सिग्नल के जवाब में।
__git_ps1में /usr/share/git/git-prompt.shऔर /usr/share/git/completion/git-prompt.shमेरे सिस्टम पर, आर्क लिनक्स में परिभाषित किया गया है , इसलिए यह आपके लिए समान हो सकता है।
यदि आप विशेष रूप से शेल की शुरुआत में आदेशित आदेशों को देखना चाहते हैं , तो मंगलाचरण अनुभाग पर एक नज़र डालें man bash- वे अन्य फ़ाइलों को स्रोत कर सकते हैं जो बदले में अन्य फ़ाइलों को स्रोत करते हैं।
$PATH, तोtypeकाम नहीं करेगा। तुम सिर्फfindया का उपयोग करने की कोशिश करना चाहते हो सकता हैlocate।locateबहुत तेजी से होगा, क्योंकि यह पहले से मौजूद डेटाबेस का उपयोग करता है, लेकिन यह काम नहीं करेगा यदि कमांड हाल ही में स्थापित किया गया था।