Bash में फ़ंक्शन बॉडी प्रदर्शित करें


14

मैंने अपनी .bashrcफ़ाइल में कई फ़ंक्शन सेटअप किए हैं । मैं केवल फ़ंक्शन के वास्तविक कोड को प्रदर्शित करना चाहता हूं और इसे निष्पादित नहीं करना चाहता हूं, जल्दी से किसी चीज़ को संदर्भित करने के लिए।

क्या कोई तरीका है, हम फ़ंक्शन की परिभाषा देख सकते हैं?

जवाबों:


15

declareBuiltin के -fविकल्प है कि करता है:

bash-4.2$ declare -f apropos1
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

मैं typeउस उद्देश्य के लिए उपयोग करता हूं , यह टाइप करने के लिए छोटा है;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

6

typeऐसा करने के लिए आप कमांड का उपयोग कर सकते हैं ।

type yourfuncफ़ंक्शन को STDOUT में प्रिंट करेगा। जैसा man typeकहता है,

प्रकार की उपयोगिता यह बताएगी कि कमांड नाम के रूप में उपयोग किए जाने पर प्रत्येक तर्क की व्याख्या कैसे की जाएगी।

2
man type? शेल बिल्डिंस का आमतौर पर मेरे सिस्टम पर कोई मैन पेज नहीं होता है।
मैनेटवर्क

मैंने एक लिंक के साथ अपना जवाब अपडेट किया है। मेरे द्वारा उपयोग किया जाने वाला सिस्टम आर्क लिनक्स है।
जसोनव्रीयन

1
धन्यवाद। लगता है कि मैन-पेज पैकेज आर्क पर बहुत अधिक है।
मैनटवर्क

कोई समस्या नहीं: क्योंकि यह पोसिक्स मैन पेजों में से एक है, मैंने सोचा कि इसे व्यापक रूप से वितरित किया जाएगा ...
jasonwryan

4
help typeबैश-विशिष्ट जानकारी दिखाता है।
l0b0

0

अंतर्निहित आदेशों की जानकारी के उपयोग के लिए:

help [-s|-d] COMMAND1 COMMAND2 ....

उदाहरण के लिए:

help help alias

उदाहरण के लिए, उनमें से सभी के बारे में जानकारी के लिए:

help -s '' 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.