node.js - 打开终端并启动命令
问题描述
在我的电子/reactjs 应用程序中,我试图打开一个终端并启动一些命令。
我的代码如下所示:
const terminal = 'x-terminal-emulator';
const { spawn } = require('child_process');
spawn(terminal);
我的终端打开,但我不知道如何在此终端中启动命令,例如“cd /my/custom/path && ls”
有人能帮助我吗 ?:)
解决方案
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
});