Zsh में परिभाषित कार्यों की सूची प्राप्त करने का कोई भी तरीका (जैसे उपनामों के लिए उपनाम)


19

मैं टाइप कर सकता हूँ

alias

और zsh में परिभाषित उपनामों की एक सूची प्राप्त करें

मैं zsh में परिभाषित फ़ंक्शन नामों की सूची कैसे प्राप्त कर सकता हूं?

जब मैं "फ़ंक्शन" टाइप करता हूं, तो मेरी शेल विंडो बहुत सारे फ़ंक्शन प्रदर्शित करने के बाद हैंग हो जाती है, हमेशा समाप्त होती है

__rvm_checksum_none () {
    [[ -z "${_checksum_md5:-}" && -z "${_checksum_sha512:-}" ]]
}
__rvm_checksum_read () {

सुपर कष्टप्रद यह है कि यह सीटी-सी (आइटम 2 और टर्मिनल का उपयोग करके) के साथ नहीं छोड़ा जाएगा।

iterm2: यहाँ छवि विवरण दर्ज करें

एक ही मुद्दे वाले टर्मिनल की तस्वीर: यहाँ छवि विवरण दर्ज करें


आमतौर पर लिस्टिंग बिलिन के साथ की जाती है functions। क्या आप एक आउटपुट प्राप्त करते हैं यदि आप समस्याग्रस्त (?) फ़ंक्शन को अपरिभाषित करते हैं unfunction __rvm_checksum_read:?
खसखस

क्या होगा यदि मैं फ़ंक्शंस सूची (पूर्ण घोषणाएँ नहीं) प्राप्त करना चाहता हूँ? यदि मैं उस विधि को लागू करता हूं, तो अन्य __rvm_curl में भी समस्याएँ हैं।
justingordon

मेरा जवाब देखिए। लेकिन आपके द्वारा वर्णित व्यवहार अजीब लगता है ... तो बस ब्याज से बाहर: क्या पूरी लिस्टिंग दूसरे टर्मिनल एमुलेटर के साथ काम करती है? क्या आप समस्याग्रस्त कार्यों का सफल उपयोग कर सकते हैं?
mpy

टर्मिनल में आइटम 2 के समान समस्या है। नीचे दिया गया जवाब AWESOME है। हालांकि मैं जानना चाहता हूं कि टर्मिनल 'फंक्शन' कमांड (यहां तक ​​कि जब पाइप कम से कम) का उपयोग करके लटका हुआ है, तो क्या यह मायने रखता है? किसी भी कारण से यह मुद्दों का कारण होगा?
justingordon

मुझे लगता है कि इन कार्यों में कुछ बहुत ही अजीब चरित्र अनुक्रम हैं जो टर्मिनल को गड़बड़ करते हैं। इसे कम करने के लिए आप आउटपुट को किसी फ़ाइल में रीडायरेक्ट कर सकते हैं functions > /tmp/foo। अगर यह एक zsh समस्या है, तो यह भी समस्या होनी चाहिए। जब यह एक टर्मिनल समस्या है तो इसे नहीं करना चाहिए। यदि आपकी समस्या रोजमर्रा के उपयोग में हस्तक्षेप कर सकती है - मैं नहीं कह सकता, क्षमा करें।
mpy

जवाबों:


19

_functionsपूर्ण कार्य को देखकर धोखा देने के साथ , मैं आपके प्रश्न का उत्तर देने में सक्षम हूं:

कार्यों एक साहचर्य सरणी में जमा हो जाती है functions, इसलिए केवल फ़ंक्शन नाम (पाने के लिए kके लिए झंडा कुंजी ) वर्णमाला के क्रम में ( oके लिए ध्वज आदेश ) आप उपयोग कर सकते हैं

print -l ${(ok)functions}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.