Ich fand Projekte Serval node.js, die diese ihrer app.js
oben haben (wie in diesem openshift program):Was bedeutet "#!/Bin/env" (am Anfang eines node.js-Skripts)?
#!/bin/env node
Was bedeutet das? Wie funktioniert das? Wo ist es nützlich?
Ich fand Projekte Serval node.js, die diese ihrer app.js
oben haben (wie in diesem openshift program):Was bedeutet "#!/Bin/env" (am Anfang eines node.js-Skripts)?
#!/bin/env node
Was bedeutet das? Wie funktioniert das? Wo ist es nützlich?
Die durchgezogene Linie aus Ihrem Beispiel ist:
#!/bin/env node
Dies bedeutet einfach, dass das Skript mit den ersten ausführbaren ausgeführt werden soll ‚Knoten‘ genannt, die in der aktuellen PATH gefunden wird.
Der Shebang (#!) Am Anfang bedeutet, dass das Skript mit dem Folgenden ausgeführt wird./bin/env ist ein Standard-Unix-Programm, das Ihre aktuelle Umgebung betrachtet. Jedes Argument, das nicht im Format "Name = Wert" vorliegt, ist ein auszuführender Befehl. Weitere Informationen finden Sie auf Ihrer Manpage.
Muss ich diese Deklaration im Allgemeinen in meiner Knoten-App hinzufügen? – hh54188
Nur wenn Sie es mit './App.js' starten möchten, anstatt' node app.js' einzugeben. Für ein Beispiel, wo es nützlich ist, werfen Sie einen Blick auf http://stackoverflow.com/questions/14517535/directly-call-globally-installed-node-js-modules –
gibt es eine Möglichkeit, dies auf einem Mac zu arbeiten? – chovy
env
ist ein Shell-Befehl, mit dem ein Interpreter angegeben wird.
In einfachem Englisch bedeutet das, dass "env" das finden wird Speicherort von 'node' in Ihrem $ PATH. Menschen tun manchmal '#!/Bin/node' oder' #!/Usr/local/bin/node', aber das Problem ist, dass Sie nicht wissen, wo die Person ihre Kopie des Knotens haben kann. Das 'env' Programm findet das für Sie. –
http://stackoverflow.com/questions/7366775/what-does-the-line-bin-sh-mean-in-a-unix-shell-script – user2864740