为什么在将 fortune 的输出输送到 cowsay 时 watch 不起作用
why doesn't watch work when piping the output of fortune into cowsay
cowsay 是一个愚蠢的 linux 工具,用于在终端中显示母牛说给定文本。
$ cowsay hello
fortune 也很愚蠢 linux 在终端中显示 "random" 报价。
$ fortune
这两个命令都可以在终端中使用手表重复运行,例如
$ watch cowsay hello
$ watch fortune
此外,这两个命令可以结合使用,因此牛说 "random" 引号。通过将 fortune 的输出输送到 cowsay。
$ fortune | cowsay
然而,watch 的使用和将 fortune 的输出通过管道输送到 cowsay 的组合不会做任何事情......即挂起,直到过程结束
$ watch fortune | cowsay
有人知道为什么吗?
这是因为 |
之后的所有内容都是在子 shell 中执行的。试试这个:
$ watch "fortune | cowsay"
使用 watch fortune | cowsay
,您将 watch fortune
的输出输送到 cowsay
。你想 watch
fortune
的值通过管道传输到 cowsay
所以你应该引用它所以 watch 会让整个命令执行为
watch 'fortune | cowsay'
cowsay 是一个愚蠢的 linux 工具,用于在终端中显示母牛说给定文本。
$ cowsay hello
fortune 也很愚蠢 linux 在终端中显示 "random" 报价。
$ fortune
这两个命令都可以在终端中使用手表重复运行,例如
$ watch cowsay hello
$ watch fortune
此外,这两个命令可以结合使用,因此牛说 "random" 引号。通过将 fortune 的输出输送到 cowsay。
$ fortune | cowsay
然而,watch 的使用和将 fortune 的输出通过管道输送到 cowsay 的组合不会做任何事情......即挂起,直到过程结束
$ watch fortune | cowsay
有人知道为什么吗?
这是因为 |
之后的所有内容都是在子 shell 中执行的。试试这个:
$ watch "fortune | cowsay"
使用 watch fortune | cowsay
,您将 watch fortune
的输出输送到 cowsay
。你想 watch
fortune
的值通过管道传输到 cowsay
所以你应该引用它所以 watch 会让整个命令执行为
watch 'fortune | cowsay'