#!/bin/bash 
    最近在看shell,各种困惑,不过解决困惑的感觉还是很不错的。废话少说,linux中使用文件描述符来标识每个文件对象。文件描述符为一个非负整数,可以唯一标识会话中打开的文件。每个过程最多可以有9个文件描述符。
    linux使用的标准文件描述符:
    标准输入STDIN就是0,标准输出STDOUT就是1,标准错误输出STDERR就是2。而我们也可以自己创建文件描述符3~8。
    将今天看到的一段代码:
1    #!/bin/bash
2    exec  3>&1
3    exec  1>test
4    echo "something to output file"
     ....
     ....
5    exec 1>&3
6    echo "Now things should be back"
    第二行代码使用文件描述符3指向文件描述符1的位置,即标准输出的位置,用于保存标准文件描述符1的位置。之后第三行代码将文件描述符1重定向到文件test,之后再执行后面的代码。在执行到第5行代码时将文件描述符1又重新指向其原来位置。
    这种方法就是在脚本程序中临时将输出重定向然后再将输出恢复到通常设置的方法~还是会经常用到的,呼呼~。
    还是那句话:Where there is a shell,there is a way!
#exit 0

最新文章

  1. 从APP跳转到WI-FI
  2. ***PHP 数组排序 +php二维数组排序方法(PHP比较器)
  3. 异步方法不能使用ref和out的解决方法
  4. 国内IT软件开发人员现状
  5. CodeForces 716A Crazy Computer
  6. spring mvc 和junit 4集成的注意点
  7. 美团网基于机器学习方法的POI品类推荐算法
  8. 10个经典的Java main 方法面试题
  9. 不要if else的编程
  10. linux 远程桌面工具NX
  11. .bash_profile与.bashrc和.profile的区分概念
  12. C语言5种存储区域
  13. 201521123073 《Java程序设计》第6周学习总结
  14. Egg + Vue 服务端渲染工程化实现
  15. 数据恢复培训资料:BMP文件详解
  16. python爬虫基础_requests和bs4
  17. 升讯威微信营销系统开发实践:(1)功能概要与架构设计( 完整开源于 Github)
  18. 局域网ARP攻击防护
  19. Tesseract环境搭建及编译安装
  20. KBMMW 4.84.00 发布

热门文章

  1. WebService 学习
  2. JSP中的指令(Directive)
  3. MVC项目中验证码的使用
  4. mysql的一些基本操作语句
  5. Entity FrameWork对有外键关联的数据表的添加操作
  6. js子窗体、父窗体方法互调
  7. python核心编程学习记录之文件和输入输出
  8. HTML5之FileReader的使用
  9. JSTL函数
  10. PDO处理大批量数据的入库