我们可以实际为文件描述符编号分配给任何文件吗?
是的你可以.但是,如果它与它有关,那就取决于该程序.
$ cat fd.c
int main()
{
write(5,"test\n",5);
}
$ gcc fd.c
$ ./a.out 5> file
$ cat file
test
$ ./a.out 5>&1
test
$ ./a.out
$
Run Code Online (Sandbox Code Playgroud)
在最后一种情况下,fd 5的输出消失了.
openssl使用它来允许密码短语等传递给流程而不使用常规argv(可能会暴露它们).
更新输入案例:
$ cat fd_in.c
int main()
{
unsigned char buf[16];
write(5,buf,read(6,buf,16));
}
$ gcc fd_in.c
$ ./a.out 6< file 5>&1
test
Run Code Online (Sandbox Code Playgroud)
(file包含test\n在上一个例子中)
| 归档时间: |
|
| 查看次数: |
434 次 |
| 最近记录: |