Node.jsは最近非常に人気があり、いくつかのスクリプトを書いています。残念ながら、互換性は問題です。公式には、Node.jsインタープリターはと呼ばれることになっていますnodeが、DebianとUbuntuはnodejs代わりに呼び出される実行可能ファイルを出荷しています。
Node.jsが可能な限り多くの状況で使用できるポータブルスクリプトが必要です。ファイル名がfoo.jsであると仮定すると、2つの方法でスクリプトを実行したいです。
./foo.jsnodeまたはのいずれかでnodejsある場合、スクリプトを実行します$PATH。node foo.jsまた、スクリプトを実行します(インタープリターが呼び出されると仮定node)
注: xavierm02と私による回答は、ポリグロットスクリプトの2つのバリエーションです。純粋なシバンソリューションが存在する場合、それにも興味があります。
alphacentauri。という実行可能ファイルがある場合nodejs、Node.jsであることを99%確信できます。nodejsとの両方をサポートしないのはなぜnodeですか?
nodeスクリプトに標準名を使用するか、シバンを変更する一種のmakeスクリプトを使用することをお勧めします。