1

当从终端读取输入时,GNU Parallel 总是显示警告:

parallel: Warning: Input is read from the terminal. Only experts do this on purpose. Press CTRL-D to exit.

但有时我确实想从终端读取(例如,当我从其他地方逐项复制和粘贴内容时)。是否可以关闭此警告?man parallel我在or中找不到这样的选项man parallel_tutorial

请注意,我不想要一个廉价的解决方案2>/dev/null,因为来自其他程序的警告消息也会被关闭。例如,考虑以下简单脚本:

#!/bin/bash
function print12 () {
    echo "printing $1 to stdout"
    echo "printing $1 to stderr" >/dev/stderr
}
export -f print12

SHELL=/bin/bash parallel -k print12 2>/dev/null

打印到的消息stderr将全部被禁止。


刚刚意识到我可以做一个cat或一些read </dev/tty来达到我想要的效果。但是,让我们只关注最初的问题。

4

1 回答 1

1

它无法关闭。但将其视为一种赞美:既然您是故意这样做的,那么您就是专家(至少在 GNU Parallel 眼中)。

由于它只是一个警告,您可以随意粘贴您的参数并让它们运行:该警告不会阻止 GNU Parallel 读取您的输入。

如果你真的不喜欢这个警告:

cat | parallel ...
于 2014-06-05T07:24:41.857 回答