2013-02-25 15 views
54

मैं सर्वल Node.js परियोजनाओं (इस openshift program के रूप में) अपने app.js के शीर्ष पर इस है कि पाया? यह कैसे काम करता है? यह कहाँ उपयोगी है?"#!/Bin/env" का अर्थ क्या है (node.js स्क्रिप्ट के शीर्ष पर)?</p> <pre><code>#!/bin/env node </code></pre> <p>इसका क्या मतलब है:

+0

http://stackoverflow.com/questions/7366775/what-does-the-line-bin-sh-mean-in-a-unix-shell-script – user2864740

उत्तर

66

अपने उदाहरण से पूरी लाइन है:

#!/bin/env node 

इस का अर्थ है कि स्क्रिप्ट 'नोड' कि अपने वर्तमान पथ में पाया है नामित पहले निष्पादन के साथ निष्पादित किया जाना चाहिए।

शुरुआत में शेबांग (#!) का मतलब है कि स्क्रिप्ट को निम्नानुसार निष्पादित करें।/bin/env एक मानक यूनिक्स प्रोग्राम है जो आपके वर्तमान वातावरण को देखता है। किसी भी तर्क के लिए 'name = value' प्रारूप में निष्पादित करने का आदेश नहीं है। अधिक जानकारी के लिए अपने env manpage देखें।

+1

सामान्य रूप से, क्या मुझे अपने नोड ऐप में यह घोषणा जोड़ने की ज़रूरत है? – hh54188

+2

केवल तभी यदि आप 'node app.js' टाइप करने की आवश्यकता के बजाय'।/App.js' का उपयोग करके इसे प्रारंभ करना चाहते हैं। उदाहरण के लिए जहां यह उपयोगी है http://stackoverflow.com/questions/14517535/directly-call-globally-installed-node-js-modules –

+2

मैक पर काम करने के लिए कोई तरीका है? – chovy

8

env एक दुभाषिया निर्दिष्ट करने के लिए उपयोग किया जाने वाला शेल कमांड है।

+14

सादे अंग्रेजी में जिसका अर्थ है 'env' आपके $ पाथ में 'नोड' का स्थान। लोग कभी-कभी '#!/Bin/node' या '#!/Usr/local/bin/node' करते हैं लेकिन समस्या यह है कि आप नहीं जानते कि व्यक्ति के पास नोड की प्रतिलिपि हो सकती है। तो 'env' प्रोग्राम आपके लिए यह पाता है। –

संबंधित मुद्दे