给定一个文件"foo.txt"
,创建自:
$ seq 1 10 > "foo.txt"
我正在尝试读取文件的第一行和最后一行,我首先将文件重定向到子shell,以便命令列表将按顺序使用文件——每个命令都使用从点的输入最后一个命令已经离开它,我想:
$ (head -1; tail -1) < "foo.txt"
1
10
但是,如果我尝试使用临时文件描述符进行相同操作,则输出不一样:
$ (head -1; tail -1) < <(seq 1 10)
1
问题:
我不确定要命名什么
<(seq 1 10)
,但这个临时文件描述符和常规文件描述符("foo.txt"
) 有什么区别,导致子 shell 执行行为不同?我怎样才能实现将 a 重定向
"foo.txt"
到子 shell 的相同行为,但没有临时文件——而不实际创建文件。