Открыть терминал и запустить команды - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь открыть терминал и запустить некоторые команды в своем приложении Electron / реагировать.

Мой код выглядит так:

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

Мой терминал открывается, но я нене знаю, как запускать команды в этом терминале, такие как 'cd / my / custom / path && ls'

Может кто-нибудь помочь мне, пожалуйста?:)

1 Ответ

0 голосов
/ 19 марта 2019
У команды

Node.js child_process.spawn есть опция , чтобы указать оболочку, которую вы хотите использовать.

Поэтому я бы использовал противоположную логику и запустил команду непосредственно в определенной оболочке.(для примера 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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...