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

时间:2017-11-29 01:37:57

标签: configure gnu-parallel

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

DEBUG=nightmare parallel node my-script.js

和输出:

enter image description here

但是,在Ubuntu(20141022 + ds1-1)中通过apt安装安装的版本保留了颜色:

enter image description here

1 个答案:

答案 0 :(得分:1)

让我们假设您的计划是:

echo myfoobar | grep --color foo

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

您可以使用--tty让GNU Parallel打开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