如何解决如何在 nodejs 中的 child-process.spawn 中为所有 linux 命令的输出着色?
我想使用 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 举报,一经查实,本站将立刻删除。