在bash过程中使用文件描述符255有什么用处

Ama*_*ain 18 linux io-redirection

执行以下命令以显示当前进程拥有的文件描述符,显示4个文件描述符.文件描述符0,1和2是stdin,stdout和stderr.什么是文件描述符255?

ls /proc/$$/fd
Run Code Online (Sandbox Code Playgroud)

输出:

0  1  2  255

Cyr*_*rus 17

打开的文件是0(stdin),1(stdout)和2(stderr).255是一个小技巧,bash用于在重定向时保留这些副本.这是针对bash的.

资料来源:https://books.google.com/books?id = wWjqCF9HLfYC&p = PA231

例:

echo foo 1>/dev/null 2>/dev/null >/proc/$$/fd/255
Run Code Online (Sandbox Code Playgroud)

输出:

foo