我知道人们经常可以欺骗命令行实用程序,这些实用程序期望文件通过/dev/stdout
作为文件名传递到标准输出。
我想知道是否可以将工具管道创建到编号的文件描述符而不是stdout
/ stderr
,就像我可以执行以下操作来管道stderr
而不是stdout
:
command 2>&1 >/dev/null | grep 'something'
为了使我的问题更具体(最小的可重复示例):我需要在/dev/stdout
这里替换什么,以便输出以文件描述符 3 结束,而不是stdout
(我不是问任何特定工具的问题,我想知道什么用于管道传输到 fd 3 的字符串,因为我可以使用管道传输到 fd 1 /dev/stdout
。
cp a /dev/stdout
替换cp
为通常需要文件路径的命令。
行/dev/3
吗?我正在寻找/dev/stdout
fd 3 而不是 fd 1 的类似物。
用另一种方式重新表述这个问题:
file descriptor 1 is to /dev/stdout
what
file descriptor 3 is to ???
我应该在这里使用什么而不是???
我进行了相当广泛的搜索,但找不到任何东西。