问题描述
我想使用 child-process 实现 Linux 终端:nodejs 的衍生。 一切正常,但存在以下颜色输出问题:
require("child_process").spawn(mainCommand,subCommmands,{stdio: 'inherit'});
npm i
和 gcc
等命令在下面的代码中输出很好,但是 ls -al
等 Linux 命令不输出颜色。此外,stdout.on,stderr.on
via pipe 选项不可用,因为 {stdio : inherit}
。
- 因此,当我将
--color=always
添加到 subCommands 参数并将选项stdio: 'inherit'
更改为stdio: 'pipe'
时,ls -al
等 Linux 命令具有良好的颜色输出,但诸如pip,python3,gcc
有以下没有颜色的错误: error: unrecognized command line option ‘--color=always’
因此,我想实现一个可以执行以下所有操作的 Linux 终端:
- 应该可以通过子进程捕获输出。 (使用带有
stdio:'pipe'
的 stdout.on) - 应为所有命令生成保留颜色的输出(例如:
ls
、ls -al
、npm i
、gcc
、pip
、{{1} }、python
等)。
如果您有这样的子进程选项或粉笔选项,请告诉我(大多数问题都要求使用粉笔或支持颜色,但没有具体示例)。
我的开发环境是 Ubuntu。
请给我一些建议,谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)