假设存在一个有两个参数的程序;输入文件和输出文件。
如果我不想将此输出文件保存到磁盘上,而是直接将其传递给stdin
另一个程序怎么办?有没有办法做到这一点?
我在Linux上遇到的许多命令都提供了一个选项来传递“-”作为输出文件参数,这与我上面指定的功能相同。这是因为stdin
无法将程序的作为参数传递吗?如果是,我们该怎么做?
我如何使用此图像的示例是:
pdftotext "C BY BRIAN W KERNIGHAN & DENNIS M RITCHIE.pdf" stdin(echo)
我正在使用的外壳是bash。
cat < README.txt | cp /dev/fd/0
。它说cp: missing destination file operand after ‘/dev/fd/0’ Try 'cp --help' for more information.
program input-file /dev/stdout | another-program
?另请注意,它echo
不会从stdin 中读取任何内容。
cp
无处不在。echo 1 2 3| cp /dev/fd/0 /dev/tty
将打印1 2 3
。顺便说一下,与大多数情况/dev/fd/[num]
相比,它更有可能起作用/dev/std(in|out|err)
。请参阅文件描述符链接的可移植性,以了解可以在哪里工作。
cat <file | cmd /dev/fd/0
适用于大多数unices。