通过命令重定向终端stdout

Joa*_*ont 5 bash terminal redirect stdout pipe

我想要做的只是将执行的命令的stdout重定向到管道.一个例子比我更好地解释它.

$ echo "Hello world" | cowsay
Run Code Online (Sandbox Code Playgroud)

在cowsay中输出"Hello world",我想预处理终端的/ bash stdout以通过cowsay

$ echo "Hello world"
Run Code Online (Sandbox Code Playgroud)

这应该输出与第一个命令相同.

提前致谢.

Bar*_*mar 3

您可以使用命名管道:

mkfifo /tmp/cowsay_pipe
cowsay < /tmp/cowsay_pipe &
exec > /tmp/cowsay_pipe # Redirect all future output to the pipe
echo "Hello world"
Run Code Online (Sandbox Code Playgroud)