文件描述符

  • 0:标准输入
  • 1:标准输出
  • 2:报错输出

举例



1 exec 8<> /dev/tcp/www.baidu.com/80
2 echo -e "GET / HTTP/1.0\n" 1>& 8
3 cat 0<& 8
4 exec 8<& -


  • 建立新的文件描述符8
  • <>:发送请求,并接收响应数据
  • 执行1后内核会建立与百度的socket连接
  • -e:识别 \n 为换行符
  • GET:请求方式
  • /:请求主页
  • 执行2后内核向百度发送请求,百度响应的数据存在文件描述符8中
  • 执行3读取响应信息
  • 执行4关闭文件