【问题标题】:Execute bash script via Node.js and include command line parameters通过 Node.js 执行 bash 脚本并包含命令行参数
【发布时间】:2021-12-31 01:28:49
【问题描述】:

我正在尝试从 Node 应用程序执行 bash 脚本,我之前通过以下方式成功完成了该脚本:

var spawn = require('child_process').spawn;
spawn('bash', [pathToScript], {
    stdio: 'ignore',
    detached: true
}).unref();

我这样做很重要,因为脚本需要继续执行,即使/当应用程序停止时也是如此。

现在,我需要执行的脚本需要在命令行上提供一个输入值,即。

./myScript.sh hello

但我不知道如何将其传递给 spawn 调用。我尝试了以下方法,但没有运气

var spawn = require('child_process').spawn;
spawn('bash', [pathToScript + '' + params], {
    stdio: 'ignore',
    detached: true
}).unref();

【问题讨论】:

    标签: node.js bash command-line-arguments spawn


    【解决方案1】:

    The second parameter in spawn 是要传递给命令的参数数组。所以我认为你几乎拥有它,但不是将参数连接到路径,而是将它们作为数组传递:

    var spawn = require('child_process').spawn;
    var params = ['pathToScript','run', '-silent'];
    spawn('bash', params, {
        stdio: 'ignore',
        detached: true
    }).unref();
    

    【讨论】:

    • 成功了,谢谢!
    猜你喜欢
    • 2014-06-28
    • 2020-09-15
    • 2011-10-16
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多