【问题标题】:Preserve output color when running exec command [duplicate]运行 exec 命令时保留输出颜色 [重复]
【发布时间】:2015-11-05 02:23:48
【问题描述】:

如果你运行命令npm command,你会得到这样的彩色输出。

但是,如果我通过节点模块运行命令,就像这样。

var execSync = require('child_process').execSync
execSync('npm substack')

颜色消失了。

cmd在节点文件中运行时有什么办法可以保留颜色吗?

不知道这个问题是如何特定于节点的。这是一个输出--> Starting program. 的通用回显,其中箭头为绿色。

echo -e "\\033[38;5;2m-->\\033[0m Starting program."

我需要一个命令,将这个输出转换回上面的这个字符串。

【问题讨论】:

  • npm command 是什么 - 某种 shell 内置命令? 最有可能此 shell 检查输出是否为终端,如果是则仅输出 ANSI 转义的颜色代码。我在自己的程序中使用了这个技巧,如果应该插入颜色,则使用 isatty 设置标志。
  • @Jongware npm 是一个 shell 命令。我怎样才能假装命令认为有一个外壳,所以它会用颜色打印它的输出?
  • 我相信代码的输出在utf8 中,并且字符串只是按原样记录。我需要一种从命令中输出 ansi 字符串而不是彩色字符串的方法。

标签: javascript node.js string colors terminal


【解决方案1】:

命令npm config set color always会保证颜色一直输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-30
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2017-01-07
    • 2013-09-20
    相关资源
    最近更新 更多