不写入磁盘的情况下向文件描述符3写入?

6
有没有一种方法可以与文件描述符进行交互,而不必先在磁盘上打开文件?
如果没有将文件分配给fd3,则无法正常工作。
echo a >&3

8
你想达成什么目标? - Fred Foo
2
你可以使用 mkfifo 创建一个命名管道,它将在文件系统中创建一个条目,但实际的输入/输出是通过内存进行的。 - Kevin
1个回答

16

取决于您想要做什么。假设您想随意编写字符串并将其反转后打印。设置文件描述符重定向到等待标准输入的进程替换中:

$ exec 3> >(rev)
$ echo hello world >&3
dlrow olleh

完成后,您可以关闭文件描述符。

$ exec 3>&-
$ echo hello world >&3
bash: 3: Bad file descriptor

1
我的理解是,在某些平台上,这个在磁盘上(其中/dev/fd不可用,因此使用命名管道代替)。 - Charles Duffy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接