文件描述符
- 0:标准输入
- 1:标准输出
- 2:报错输出
举例
1 exec 8<> /dev/tcp/www.baidu.com/80 2 echo -e "GET / HTTP/1.0 " 1>& 8 3 cat 0<& 8 4 exec 8<& -
- 建立新的文件描述符8
- <>:发送请求,并接收响应数据
- 执行1后内核会建立与百度的socket连接
- -e:识别 为换行符
- GET:请求方式
- /:请求主页
- 执行2后内核向百度发送请求,百度响应的数据存在文件描述符8中
- 执行3读取响应信息
- 执行4关闭文件
参考
linux 重定向、exec实现访问百度主页
https://blog.csdn.net/weixin_43294560/article/details/102943327
一个linux标准输入标准输出问题
https://lists.ubuntu.com/archives/ubuntu-zh/2012-June/012147.html
shell浅谈之八I/O重定向
https://blog.csdn.net/taiyang1987912/article/details/39401265