微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。