当前位置: 首页 > 知识库问答 >
问题:

从nodejs运行bash命令[复制]

南门志
2023-03-14

构建了一个应用程序,我想为这个应用程序编写一个用nodejs编写的安装程序。安装程序应该做:-更新操作系统-更改ip/主机名-安装nginx、nodejs、节点附加模块(pg、pm2等),postgresql-从git hub下载应用程序-为配置文件制作控制器-使用pm2运行应用程序

我在internet上搜索,发现了来自节点的child_进程,我试图用它运行bash命令,但在“apt get update”、“apt get install node”等命令上收到了一个错误。。似乎来自child_进程的函数只适用于简单的命令,如:“ls”、“pwd”。你对我有什么建议吗?在nodejs中创建应用程序安装程序或使用纯bash命令是一个好策略?谢谢你的建议。

共有1个答案

洪华皓
2023-03-14

出现错误是因为我将所有bash命令作为字符串发送到spawnSync。正确的做法是

let cmd = spawnSync("sudo", ["apt-get","upgrade"]);
 类似资料:
  • 问题内容: 我有一个bash脚本,可以通过命令行像这样运行: 我在调用某个php文件后尝试执行上述命令。 我现在所拥有的是: 但这是行不通的。我尝试过使用和太,但剧本从来没有得到执行。 但是,当我尝试运行它时,它确实起作用,并且是所有文件的列表。 我不确定这是由于我使用的VPS的限制还是问题出在其他地方? 问题答案: 您可能需要在调用脚本之前将chdir更改到正确的目录。这样,您可以在调用shel

  • 问题内容: 我在txt文件中有一些命令,我​​需要逐行执行所有命令。我该怎么办? 问题答案: 只要做: 如果别名只是运行 无需担心文件扩展名或执行权限。

  • 无法从Git bash运行以下命令。我在错误以下; Git版本:Git版本2.28.0.Windows.1操作系统:Windows10

  • 我需要在NodeJS应用程序中编写一个终端命令,如下所示,以复制S3文件: 在Node/JavaScript代码中是否有这样做的方法?是否有任何模块/依赖项可以让您轻松实现这一点?

  • 我有下面的课。它允许我通过java执行命令。 当我运行命令时,上一个命令的结果没有保存。例如: 给出输出: 为什么第二个“ls”命令不显示“bin”目录的内容?

  • 问题内容: 我有一个非常简单的问题。我是Mac的新手,我正试图将Java项目移到新Mac上。该项目有一个Gradlew文件,我认为我可以从命令行运行以在任何计算机上构建和运行。当我从命令行(在gradlew文件的位置)执行gradlew时,它说未找到gradlew。我是否缺少有关如何从bash shell运行命令的内容? 问题答案: 您的gradlew目录未包含在PATH中,因此您必须指定grad