Node.js jest obecnie bardzo popularny i pisałem na nim kilka skryptów. Niestety kompatybilność stanowi problem. Oficjalnie należy wywoływać interpreter Node.js node
, ale Debian i Ubuntu dostarczają nodejs
zamiast niego plik wykonywalny .
Chcę przenośnych skryptów, z którymi Node.js może pracować w jak największej liczbie sytuacji. Zakładając, że nazwa pliku brzmi foo.js
, naprawdę chcę, aby skrypt działał na dwa sposoby:
./foo.js
uruchamia skrypt, czy teżnode
czynodejs
jest$PATH
.node foo.js
uruchamia również skrypt (zakładając, że wywoływany jest interpreternode
)
Uwaga: Odpowiedzi xavierm02 i mnie to dwie odmiany skryptu polyglot. Nadal interesuje mnie rozwiązanie typu shebang, jeśli takie istnieje.
alphacentauri
i tak dalej. Jeśli istnieje plik wykonywalny o nazwie nodejs
, możesz być w 99% pewien, że jest to plik Node.js. Dlaczego nie wspierać zarówno nodejs
i node
?
node
skryptu lub stworzenie skryptu make, który modyfikuje shebang.