From 206c0a1b0f486a920f94a5a8460abad13729e938 Mon Sep 17 00:00:00 2001 From: zanisimo Date: Mon, 15 Oct 2012 16:33:27 +0300 Subject: [PATCH 1/2] Passed process arguments to executable script --- bin/shjs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/bin/shjs b/bin/shjs index faa9995..9dbf828 100755 --- a/bin/shjs +++ b/bin/shjs @@ -7,7 +7,8 @@ if (process.argv.length < 3) { process.exit(1); } -var scriptName = process.argv[2]; +var args, + scriptName = process.argv[2]; env['NODE_PATH'] = __dirname + '/../..'; if (!scriptName.match(/\.js/) && !scriptName.match(/\.coffee/)) { @@ -24,12 +25,21 @@ if (!test('-f', scriptName)) { } +args = process.argv.slice(3); + +for (var i = 0, l = args.length; i < l; i++) { + if (args[i][0] !== "-"){ + args[i][0] = '"' + args[i][0] + '"'; + } +} + + if (scriptName.match(/\.coffee$/)) { // // CoffeeScript // if (which('coffee')) { - exec('coffee ' + scriptName, { async: true }); + exec('coffee ' + scriptName + ' ' + args.join(' '), { async: true }); } else { console.log('ShellJS: CoffeeScript interpreter not found'); console.log(); @@ -39,5 +49,5 @@ if (scriptName.match(/\.coffee$/)) { // // JavaScript // - exec('node ' + scriptName, { async: true }); + exec('node ' + scriptName + ' ' + args.join(' '), { async: true }); } From 68c452c81c9470d26069d22110ccbf93e029350d Mon Sep 17 00:00:00 2001 From: zanisimo Date: Mon, 15 Oct 2012 16:39:47 +0300 Subject: [PATCH 2/2] Fixed an error with multiple words in argument --- bin/shjs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bin/shjs b/bin/shjs index 9dbf828..d239a7a 100755 --- a/bin/shjs +++ b/bin/shjs @@ -24,16 +24,14 @@ if (!test('-f', scriptName)) { process.exit(1); } - args = process.argv.slice(3); for (var i = 0, l = args.length; i < l; i++) { if (args[i][0] !== "-"){ - args[i][0] = '"' + args[i][0] + '"'; + args[i] = '"' + args[i] + '"'; // fixes arguments with multiple words } } - if (scriptName.match(/\.coffee$/)) { // // CoffeeScript