Make Node.js support the shebang (#!) for JavaScript files

kev picture kev · May 22, 2012 · Viewed 10.1k times · Source

Some scripting languages (such as Python or Bash) use # for comments.

#!/usr/bin/env python
print 'hello, world'

I can run the script:

python script.py

Or

./script.py

Is it possible to make JavaScript support shebang?

Answer

ThiefMaster picture ThiefMaster · May 22, 2012

Yes, you can simply use #!/usr/bin/env node (or whatever the name of your JavaScript interpreter is, it works fine with js (spidermonkey), too).

[me@hades:~]> cat > test.js
#!/usr/bin/env node
console.log('hi');
[me@hades:~]> chmod +x test.js
[me@hades:~]> ./test.js
hi

Most likely both interpreters test if the first line begins with #! and in this case it is skipped.