写入文件描述符3而不写入磁盘?

Zhr*_*hro 6 bash shell file-descriptor

有没有办法与文件描述符交互而无需在磁盘上打开文件?

如果没有首先将文件分配给fd3,这将无法工作:

echo a >&3
Run Code Online (Sandbox Code Playgroud)

gle*_*man 15

取决于你想做什么.假设您想在闲暇时写字符串并将其反转打印.设置文件描述符重定向到等待stdin的进程替换:

$ exec 3> >(rev)
$ echo hello world >&3
dlrow olleh
Run Code Online (Sandbox Code Playgroud)

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

$ exec 3>&-
$ echo hello world >&3
bash: 3: Bad file descriptor
Run Code Online (Sandbox Code Playgroud)