I recently wanted to pass some parameters to my .js file just from the commandline using the node command. Because I didn’t found an answer on Google, but in a project on Github, I want to let you know how it works.

Let’s say you have a script named foo.js. Run the following command:

node foo.js myParameter

In your script you can now access the attached parameters with:

process.ARGV

You will get:

[ ‘node’\ , ‘/path/to/foo.js’\ ,’myParameter’\ ]

I needed something like that, to pass a boolean. The final result was:

# script call:\ node my.js —option\ \ # script content:\ var foo = (process.ARGV.indexOf(“—option”) > -1)

Also useful could be something like:

# script call:\ node my.js —path=/foo/bar/foobar.js\ \ # script content:\ var path = “”\ process.ARGV.forEach(function(arg) {\ if(arg.indexOf(“—path”) == 0)\ path = arg.split(“=”)[1]\ })\ require(“sys”).puts(path)

OK… That’s it for now. Hope it might be useful. :)