Node.js è molto popolare in questi giorni e ho scritto alcuni script su di esso. Sfortunatamente, la compatibilità è un problema. Ufficialmente, l'interprete Node.js dovrebbe essere chiamato node, ma Debian e Ubuntu forniscono nodejsinvece un eseguibile chiamato .
Voglio script portatili con cui Node.js possa lavorare il maggior numero possibile di situazioni. Supponendo che il nome del file sia foo.js, voglio davvero che lo script venga eseguito in due modi:
./foo.jsesegue lo script se unonodeonodejsè dentro$PATH.node foo.jsesegue anche lo script (supponendo che venga chiamato l'interpretenode)
Nota: le risposte di xavierm02 e di me sono due varianti di uno script poliglotta. Sono ancora interessato a una soluzione pura di shebang, se esiste.
alphacentaurie così via. Se c'è un eseguibile chiamato nodejs, puoi essere sicuro al 99% che sia Node.js. Perché non supportare entrambi nodejse node?
nodeper il tuo script o di avere una sorta di script di make che modifica lo shebang.