What does "#!/bin/env" mean (at the top of a node.js script)?
I found serval node.js projects that have this at top of their app.js
(as in this openshift program):
#!/bin/env node
What does this mean? How does this work? Where is it useful?
Solution 1:
The full line from your example is:
#!/bin/env node
This simply means that the script should be executed with the first executable named 'node' that's found in your current PATH.
The shebang (#!) at the start means execute the script with what follows. /bin/env is a standard unix program that looks at your current environment. Any argument to it not in a 'name=value' format is a command to execute. See your env manpage for further details.
Solution 2:
env
is a shell command used to specify an interpreter.