क्या अंतरिक्ष को # के बीच अनुमति है! और / बिन / बाश शेबंग में?


47

शेबबैंग में, #!दुभाषिया के बीच एक स्थान या अधिक अनुमति है ?

उदाहरण के लिए, #! /bin/bash। यह काम लगता है, लेकिन कुछ ने कहा कि यह गलत है।



तो एक जगह आवश्यक नहीं है ? मैंने हमेशा कम से कम एक देखा है ...
बकुरीउ

6
@ बकुरी कहां? मैंने लगभग कभी नहीं देखा ...
जेन्स

जवाबों:


48

हां, इसकी अनुमति है।

शेबबैंग के बारे में विकिपीडिया लेख में डेनिस रिची का 1980 का ईमेल शामिल है, जब वह संस्करण 8 यूनिक्स (जोर मेरा) में शेबंग के लिए कर्नेल समर्थन ( इंटरप्रेटर निर्देश नामक व्यापक पैकेज के भाग के रूप में) पेश कर रहा था:

सिस्टम को बदल दिया गया है ताकि यदि किसी फ़ाइल को निष्पादित किया जा रहा है #!, जो जादू पात्रों से शुरू होती है , तो शेष पंक्ति को निष्पादित फ़ाइल के लिए दुभाषिया का नाम समझा जाता है। [...]

इस अद्भुत अवसर का लाभ उठाने के लिए,

#! /bin/sh

आपके शेल स्क्रिप्ट की पहली पंक्ति के बाएं किनारे पर। ठीक है के बाद खाली !

तो शेबबैंग के बाद रिक्त स्थान काफी समय से आसपास रहे हैं, और वास्तव में, डेनिस रिची का उदाहरण उनका उपयोग कर रहा है।

ध्यान दें कि यूनिक्स के शुरुआती संस्करणों में इस दुभाषिया लाइन में 16 वर्णों की सीमा थी, इसलिए आपके पास वहां व्हाट्सएप की मनमानी मात्रा नहीं हो सकती थी। यह प्रतिबंध अब आधुनिक गुठली में लागू नहीं होता है।


38

हां, रिक्त स्थान की अनुमति दी जाती है #!। यहां तक ​​कि एक (गलत) यह भी सोचा गया था कि कुछ प्रणालियों को इसकी आवश्यकता हो सकती है, लेकिन यह हमेशा वैकल्पिक रहा है।

आगे पढ़ने के लिए यहां देखें

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