वातानाबे खोल में तीन प्रकार के बिल्ट-इन हैं, जो इसके मैनुअल में विस्तार से वर्णित हैं। सभी अंतर्निहित कमांड को भी वहां सूचीबद्ध किया गया है, लेकिन किसी को यह अनुमान लगाना होगा कि कोई "नियमित" अंतर्निहित कमांड है, जो किसी भी नोट की अनुपस्थिति से कह रही है कि कमांड एक "विशेष" या "अर्ध-विशेष" है में निर्मित। नियमित रूप से निर्मित इन्स चिन्हित हैं।
printf
एक ऐसा "नियमित" अंतर्निहित है। मूल मोड में यह हमेशा लागू होता है, भले ही उस नाम से कोई बाहरी कमांड मिली हो।
$ पैठ = / usr / बिन
$ प्रिंटफ
प्रिंटफ: इस कमांड के लिए एक ऑपरेंड की आवश्यकता होती है
$ प्रकार प्रिंट
प्रिंटफ: एक नियमित निर्मित में / यूएसआर / बिन / प्रिंटफ
$
$ पेट = /
$ प्रिंटफ
प्रिंटफ: इस कमांड के लिए एक ऑपरेंड की आवश्यकता होती है
$ प्रकार प्रिंट
प्रिंटफ: एक नियमित रूप से निर्मित ($ पेट में नहीं पाया गया)
$
लेकिन जब posixly-correct
शेल विकल्प सेट किया जाता है तो यह केवल एक अंतर्निर्मित होता है यदि बाहरी कमांड को शेल पर पाया जा सकता है PATH
।
$ सेट - संगोष्ठी-सही
$
$ पैठ = / usr / बिन
$ प्रिंटफ
प्रिंटफ: इस कमांड के लिए एक ऑपरेंड की आवश्यकता होती है
$
$ पेट = /
$ प्रिंटफ
यश: ऐसा कोई आदेश नहीं 'प्रिंटफ'
$
यह वास्तव में एकल यूनिक्स विशिष्टता के अनुरूप है, और कम से कम 1997 के बाद से कहा है।
यह जेड शेल, 93 कोर्न शेल, बॉर्न अगेन शेल और डेबियन अल्मक्विस्ट शेल से अलग है, जिनमें से कोई भी नियमित रूप से निर्मित इंस के लिए इस तरह के व्यवहार को लागू या दस्तावेज नहीं करता है। Z शेल, उदाहरण के लिए, दस्तावेज़ जो नियमित रूप से निर्मित होते हैं , वे हमेशा खोजे जाने वाले चरण से पहले पाए जाते हैं PATH
। तो भी डेबियन अल्मक्विस्ट शेल करता है। और यही वे सभी गोले हैं, भले ही sh
वे अपने टर्न-ऑन-पॉसिक्स विकल्पों के साथ लागू किए गए हों ।
% / बिन / निष्पादित -a श zsh -c "पथ = /; प्रकार प्रिंट; प्रिंटफ"
प्रिंटफ एक शेल बिलिन है
zsh: printf: 1: पर्याप्त तर्क नहीं
% / बिन / निष्पादित -a श ksh93 -c "पथ = /; प्रकार प्रिंट; प्रिंटफ"
प्रिंटफ एक शेल बिलिन है
उपयोग: प्रिंटफ [विकल्प] प्रारूप [स्ट्रिंग ...]
% / बिन / निष्पादन-ए श bash --posix -c "पथ = / प्रकार प्रिंटफ; प्रिंटफ"
प्रिंटफ एक शेल बिलिन है
Printf: उपयोग: printf [-v var] प्रारूप [तर्क]
% / बिन / निष्पादन-ए श डैश -c "पथ = /; टाइप प्रिंट; प्रिंटफ"
प्रिंटफ एक शेल बिलिन है
sh: 1: printf: उपयोग: printf प्रारूप [arg ...]
%
हालाँकि, यह नहीं चल रहा है printf
जब यह PATH
पीडी कोर्न शेल, हिरलूम बॉर्न शेल और मीरबीडी कोर्न शेल का व्यवहार नहीं है; क्योंकि उनके पास printf
पहले से बिल्ट-इन नहीं है । ☺
% / बिन / निष्पादन-ए श `आदेश -v ksh` -c" पथ = /; प्रकार प्रिंट; प्रिंट; "
प्रिंटफ नहीं मिला
श: प्रिंटफ: नहीं मिला
% / बिन / निष्पादन-ए श `आदेश -v oksh` -c" पथ = /; प्रकार प्रिंट; प्रिंट; "
प्रिंटफ नहीं मिला
श: प्रिंटफ: नहीं मिला
% / बिन / निष्पादन-ए श `आदेश -v jsh` -c" पथ = /; प्रकार प्रिंट; प्रिंट; "
प्रिंटफ नहीं मिला
श: प्रिंटफ: नहीं मिला
% / बिन / निष्पादित -a श mksh -c "PATH = /; type printf; printf"
प्रिंटफ नहीं मिला
श: प्रिंटफ: नहीं मिला
% ksh -c "टाइप करें प्रिंट; प्रिंटफ"
Printf / usr / bin / printf के लिए एक ट्रैक किया गया उपनाम है
उपयोग: प्रिंटफ प्रारूप [तर्क ...]
% oksh -c "टाइप प्रिंटफ़; प्रिंटफ़"
Printf / usr / bin / printf के लिए एक ट्रैक किया गया उपनाम है
उपयोग: प्रिंटफ प्रारूप [तर्क ...]
% jsh -c "टाइप प्रिंटफ़; प्रिंटफ़"
प्रिंटफ हैशेड (/ usr / बिन / प्रिंटफ)
उपयोग: प्रिंटफ प्रारूप [तर्क ...]
% mksh -c "टाइप करें प्रिंट; प्रिंटफ"
Printf / usr / bin / printf के लिए एक ट्रैक किया गया उपनाम है
उपयोग: प्रिंटफ प्रारूप [तर्क ...]
$
PATH
एक नियमित रूप से निर्मित के लिए एक बाइनरी मौजूद होना चाहिए निष्पादित करने के लिए - तो कृपया उस बारे में अपना प्रश्न करें।