2013-02-25 5 views

Antwort

66

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.

+1

Muss ich diese Deklaration im Allgemeinen in meiner Knoten-App hinzufügen? – hh54188

+2

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 –

+2

gibt es eine Möglichkeit, dies auf einem Mac zu arbeiten? – chovy

8

env ist ein Shell-Befehl, mit dem ein Interpreter angegeben wird.

+14

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. –