如何在 nodejs 中的 child-process.spawn 中为所有 linux 命令的输出着色?

问题描述

我想使用 child-process 实现 Linux 终端:nodejs 的衍生。 一切正常,但存在以下颜色输出问题:

  1. require("child_process").spawn(mainCommand,subCommmands,{stdio: 'inherit'});

npm igcc 等命令在下面的代码输出很好,但是 ls -al 等 Linux 命令不输出颜色。此外,stdout.on,stderr.on via pipe 选项不可用,因为 {stdio : inherit}

  1. 因此,当我将 --color=always 添加到 subCommands 参数并将选项 stdio: 'inherit' 更改为 stdio: 'pipe' 时,ls -al 等 Linux 命令具有良好的颜色输出,但诸如pip,python3,gcc 有以下没有颜色的错误error: unrecognized command line option ‘--color=always’

因此,我想实现一个可以执行以下所有操作的 Linux 终端:

  1. 应该可以通过子进程捕获输出。 (使用带有 stdio:'pipe' 的 stdout.on)
  2. 应为所有命令生成保留颜色的输出(例如:lsls -alnpm igccpip、{{1} }、python 等)。

如果您有这样的子进程选项或粉笔选项,请告诉我(大多数问题都要求使用粉笔或支持颜色,但没有具体示例)。

我的开发环境是 Ubuntu。

请给我一些建议,谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)