例子:
猫<测试.txt
- 文件的内容是否
test.txt
写入/传递到 的标准输入cat
,然后cat
读取其标准输入?
或者
- 文件
test.txt
本身是否成为 的标准输入cat
?换句话说,是否通过将文本文件的文件描述符(fd)设置为0来cat
更改stdin?test.txt
答案1
选项号 2:test.txt
打开,并cat
设置其标准输入指向该文件(文件描述符重复所以在最终运行的进程中它是 0 cat
)。
在 Linux 上,您可以通过运行看到这一点
$ touch /tmp/foo
$ sleep 120 < /tmp/foo &
[1] 3006118
$ ls -l /proc/3006118/fd
total 0
lr-x------ 1 steve steve 64 May 4 16:11 0 -> /tmp/foo
lrwx------ 1 steve steve 64 May 4 16:11 1 -> /dev/pts/3
lrwx------ 1 steve steve 64 May 4 16:11 2 -> /dev/pts/3
流程的标准输入是/tmp/foo
直接的。