कमांड अलियास, फंक्शन या बाइनरी है तो टेस्ट कैसे करें?


जवाबों:


23

यदि आप बैश (या अन्य बॉर्न-जैसे शेल) पर हैं, तो आप उपयोग कर सकते हैं type

type command

आपको बताएगा कि क्या commandशेल निर्मित है, उर्फ ​​(और यदि ऐसा है, तो क्या किया गया है), फ़ंक्शन (और यदि ऐसा है तो यह फ़ंक्शन बॉडी को सूचीबद्ध करेगा) या एक फ़ाइल में संग्रहीत है (और यदि ऐसा है, तो फ़ाइल का पथ) ।

"बाइनरी" फ़ाइल के बारे में अधिक जानकारी के लिए, आप कर सकते हैं

file "$(type -P command)" 2>/dev/null

यदि commandकोई अन्य वस्तु, फ़ंक्शन या शेल बिल्ट-इन है तो यह कुछ भी नहीं लौटाएगा , लेकिन यदि यह स्क्रिप्ट या संकलित बाइनरी है तो अधिक जानकारी देता है।

संदर्भ


3

उत्तर इस बात पर निर्भर करता है कि आप किस शेल का उपयोग कर रहे हैं।

Zsh के लिए, शेल बिलिन whence -wआपको वही बताएगा जो आप चाहते हैं

जैसे

$ whence -w whence
whence : builtin
$ whence -w man     
man : command 

1

Zsh में आप जाँच कर सकते हैं aliases, functionsऔर commandsसरणियों।

(( ${+aliases[foo]} )) && print 'foo is an alias'
(( ${+functions[foo]} )) && print 'foo is a function'
(( ${+commands[foo]} )) && print 'foo is an external command'

builtinsबिल्डिंस कमांड के लिए भी है ।

(( ${+builtins[foo]} )) && print 'foo is a builtin command'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.