通过 Node.js 执行 bash 脚本并包含命令行参数
Execute bash script via Node.js and include command line parameters
我正在尝试从 Node 应用程序执行 bash 脚本,我之前已通过以下方式成功完成:
var spawn = require('child_process').spawn;
spawn('bash', [pathToScript], {
stdio: 'ignore',
detached: true
}).unref();
我这样做很重要,因为脚本需要继续执行,即使 if/when 应用程序停止。
现在,我需要执行的脚本需要在命令行上提供输入值,即。
./myScript.sh hello
但我不知道如何将其传递到 spawn 调用中。我尝试了以下方法,但没有成功
var spawn = require('child_process').spawn;
spawn('bash', [pathToScript + '' + params], {
stdio: 'ignore',
detached: true
}).unref();
The second parameter in spawn 是要传递给命令的参数数组。所以我认为你几乎已经掌握了它,但不是将参数连接到路径,而是将它们作为数组传递:
var spawn = require('child_process').spawn;
var params = ['pathToScript','run', '-silent'];
spawn('bash', params, {
stdio: 'ignore',
detached: true
}).unref();
我正在尝试从 Node 应用程序执行 bash 脚本,我之前已通过以下方式成功完成:
var spawn = require('child_process').spawn;
spawn('bash', [pathToScript], {
stdio: 'ignore',
detached: true
}).unref();
我这样做很重要,因为脚本需要继续执行,即使 if/when 应用程序停止。
现在,我需要执行的脚本需要在命令行上提供输入值,即。
./myScript.sh hello
但我不知道如何将其传递到 spawn 调用中。我尝试了以下方法,但没有成功
var spawn = require('child_process').spawn;
spawn('bash', [pathToScript + '' + params], {
stdio: 'ignore',
detached: true
}).unref();
The second parameter in spawn 是要传递给命令的参数数组。所以我认为你几乎已经掌握了它,但不是将参数连接到路径,而是将它们作为数组传递:
var spawn = require('child_process').spawn;
var params = ['pathToScript','run', '-silent'];
spawn('bash', params, {
stdio: 'ignore',
detached: true
}).unref();