<pre name="code" class="sql">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又重新指向其原来位置。
这种方法就是在脚本程序中临时将输出重定向然后再将输出恢复到通常设置的方法~还是会经常用到的.
标准输入STDIN就是0,标准输出STDOUT就是1,标准错误输出STDERR就是2。而我们也可以自己创建文件描述符3~8。
cmd 2>file 把文件描述符2重定向到file
Shell 文件描述符
最新推荐文章于 2024-04-03 16:20:28 发布
本文介绍了Linux中的文件描述符,包括标准输入(STDIN)、标准输出(STDOUT)和标准错误输出(STDERR)。通过示例代码展示了如何使用文件描述符3进行保存和恢复标准输出,并讲解了各种重定向操作,如2>file、> file 2>&1、&> file等,以及`tee`命令的用法。通过具体的命令行实例,解释了如何将错误输出和标准输出重定向到文件。
摘要由CSDN通过智能技术生成