Search code examples
node.jsopenshiftdeclare

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

  • 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.