Я запускаю это в Ubuntu и перепробовал множество вариантов функций exec / spawn (и их syn c аналогов), и ни одна из них не может показать мне вывод для bash команды 'history'. Один сценарий следующий:
const { spawnSync} = require('child_process');
const child = spawnSync('history', { shell: "/bin/bash" });
console.log('error: ', child.error);
console.log('stdout: ', child.stdout.toString());
console.log('stderr: ', child.stderr);
Он не показывает никаких ошибок, и вывод пуст. Я думаю, что этот вопрос больше относится к 'speciality' или категории команды history, чем к функции nodejs, так как они отлично работают для обычных команд, таких как ls, pwd, whoami, et c работают нормально. Я посмотрел на мой файл .bash_history, и он заполнен историей, поэтому проблема не в этом.
Другая проблема, которая может быть похожей, - это команда ll
, которая также не работает, хотя я установил bash в качестве оболочки. Но для ll
возвращается ошибка:
/ bin / bash: ll: команда не найдена
Просто чтобы быть уверенным, я попытался запустить Команда ll
в bash работала просто отлично. Чего мне здесь не хватает?
edit: Я провел еще несколько тестов, которые больше похожи на bash, чем на узлы. Когда я просто пишу команду history
, bash печатает результаты, но когда я делаю bash -c history
, она не показывает никакого вывода, но также и не выдает ошибку.
.