Node.js ist heutzutage sehr beliebt und ich habe einige Skripte darüber geschrieben. Leider ist die Kompatibilität ein Problem. Offiziell sollte der Node.js-Interpreter aufgerufen werden node, aber Debian und Ubuntu liefern nodejsstattdessen eine ausführbare Datei namens .
Ich möchte portable Skripte, mit denen Node.js in möglichst vielen Situationen arbeiten kann. Angenommen, der Dateiname lautet " foo.jsIch möchte wirklich, dass das Skript auf zwei Arten ausgeführt wird:
./foo.jsFührt das Skript aus, wenn entwedernodeoder vorhandennodejsist$PATH.node foo.jsführt auch das Skript aus (vorausgesetzt, der Interpreter wird aufgerufennode)
Hinweis: Die Antworten von xavierm02 und mir sind zwei Variationen eines mehrsprachigen Skripts. Ich bin immer noch an einer reinen Shebang-Lösung interessiert, falls es eine gibt.
alphacentauriund so weiter unterstützen. Wenn eine ausführbare Datei aufgerufen wird nodejs, können Sie zu 99% sicher sein, dass es sich um Node.js handelt. Warum nicht beide nodejsund unterstützen node?
nodefür Ihr Skript zu verwenden oder eine Art make-Skript zu verwenden, das den shebang modifiziert.