从源安装时 GNU Parallel 不显示颜色

GNU Parallel doesn't display colors when installed from source

有谁知道如何从源代码安装 GNU Parallel 以便某些命令的输出以颜色显示?我发现版本 20170622 在 运行 时不显示颜色,例如 nightmare with DEBUG=nightmare。

DEBUG=nightmare parallel node my-script.js

并输出:

然而,通过apt install in Ubuntu安装的版本(20141022+ds1-1)保持颜色:

让我们假设您的程序是:

echo myfoobar | grep --color foo

如果 grep 检测到输出是 tty,这会给出颜色。

您可以要求 GNU Parallel 使用 --tty 打开 tty。 --tty 默认为 -j1 所以你也需要设置它:

parallel -j100% --tty  'echo myfoobar | grep --color' ::: foo

问题是,缓冲也被禁用,所以它激活 --ungroup,这就是为什么这不是默认设置。正如您在此处看到的作业组合的输出:

fu() { echo myfoobar | grep --color "$@"; }
env_parallel -j100% --tty  'echo {}; fu {};sleep 0.1; echo {}; fu {}' ::: foo fo f b ba bar