如何在NodeJS中使用child_process.exec运行多行命令

9 浏览
0 Comments

如何在NodeJS中使用child_process.exec运行多行命令

注意:这个问题对我没有帮助。我正在尝试为Atom创建一个任务运行器,并且遇到了运行多行shell脚本的问题。但是,使用child_process.exec运行这段代码会导致Node认为another和directory是命令。

0
0 Comments

如何在NodeJS中使用child_process.exec运行多行命令

问题原因:在NodeJS中使用child_process.exec运行多行命令时,会遇到换行符的问题。在Windows上,换行符需要替换为^\n,而在Unix上,需要替换为\\\n

解决方法:根据操作系统的不同,使用不同的替换方式来处理换行符。在Unix上,可以使用以下代码来处理换行符:

child_process.exec(
    yourCommand.replace(/\n/g, "\\\n"),
    (error, stdout, stderr) => {
        /*...*/
    }
);

在Windows上,可以使用以下代码来处理换行符:

child_process.exec(
    yourCommand.replace(/\n/g, "^\n"),
    (error, stdout, stderr) => {
        /*...*/
    }
);

这样,就可以解决在NodeJS中使用child_process.exec运行多行命令时遇到的换行符问题。

根据这个问题,在Windows上可以尝试使用yourCommand.replace((/\n/g, "^\n")来处理换行符。

0