在两个程序之间交换标准输出和标准输入
Exchange stdout and stdin between two programs
我想为特定命令制作自动化程序,所以我需要让它们在执行过程中交换标准输出和标准输入。
让我解释一下,如果有一个命令同时执行两个程序,
# cmd1 (pipe or redirection something) cmd2
cmd1
将标准输出作为标准输入发送到 cmd2
,然后 cmd2
将标准输出作为标准输入发送到 cmd1
。
用户收到的输出应该是cmd1
的输出。我怎样才能做到这一点?
我认为你可以为此使用 FIFO 文件。
https://www.howtoforge.com/linux-mkfifo-command/
FIFO 文件允许您命名管道。您可以创建 2 个命名管道,一个用于 cmd1|cmd2,另一个用于 cmd2 | cmd1.
我想为特定命令制作自动化程序,所以我需要让它们在执行过程中交换标准输出和标准输入。
让我解释一下,如果有一个命令同时执行两个程序,
# cmd1 (pipe or redirection something) cmd2
cmd1
将标准输出作为标准输入发送到 cmd2
,然后 cmd2
将标准输出作为标准输入发送到 cmd1
。
用户收到的输出应该是cmd1
的输出。我怎样才能做到这一点?
我认为你可以为此使用 FIFO 文件。
https://www.howtoforge.com/linux-mkfifo-command/
FIFO 文件允许您命名管道。您可以创建 2 个命名管道,一个用于 cmd1|cmd2,另一个用于 cmd2 | cmd1.