首页 > 解决方案 > 打开终端并启动命令

问题描述

在我的电子/reactjs 应用程序中,我试图打开一个终端并启动一些命令。

我的代码如下所示:

const terminal = 'x-terminal-emulator';
const { spawn } = require('child_process');
spawn(terminal);

我的终端打开,但我不知道如何在此终端中启动命令,例如“cd /my/custom/path && ls”

有人能帮助我吗 ?:)

标签: node.jselectron

解决方案


Node.jschild_process.spawn命令有一个选项来指定您要使用的 shell。

所以我会使用相反的逻辑并直接在特定的 shell 中启动命令(例如bash):

const { spawn } = require('child_process');
const terminal = '/bin/bash';

let cmd = 'echo $SHELL';

spawn(cmd, { shell: terminal })
  .stdout.on('data', (data) => {
    console.log(`stdout: ${data}`);  //-> stdout: /bin/bash
});

推荐阅读