cowsay是一个愚蠢的linux工具,用于显示在终端中说出给定文本的母牛。
$ cowsay hello
财富也是一个愚蠢的Linux,用于在终端中显示“随机”报价。
$ fortune
这两个命令都可以使用手表在终端中重复运行,例如
$ watch cowsay hello
$ watch fortune
此外,这两个命令可以合并,因此母牛会说“随机”引号。通过将财富的产出输入cowsay。
$ fortune | cowsay
然而,使用手表和管道将命运输出到cowsay的组合没有做任何事情......即挂起直到过程结束
$ watch fortune | cowsay
有谁知道为什么?
答案 0 :(得分:5)
使用watch fortune | cowsay
,您将watch fortune
的输出汇总到cowsay
。您希望watch
将fortune
的值传送到cowsay
,因此您应该引用它,以便监视将整个命令执行为
watch 'fortune | cowsay'
答案 1 :(得分:2)
这是因为|
之后的所有内容都在子shell中执行。试试这个:
$ watch "fortune | cowsay"