(原创)shell中自定义文件描述符的方法介绍
原创文章,转载请注明出处:jquery中文网,否则追究法律责任。jquery中文网首发!
作者:isbadboy
文件描述符是用于访问文件的一个抽象指针。存取文件离不开被称为“文件描述符”告的特殊数字。0、1和2分别是stdin、stdout和stderr的预留描述符。
我们可以使用exec命令创建自定义的描述符。如果你对其他编程语言进行文件编程非常熟悉,你可能已经注意到了文件打开模式。通常来说,会使用3种模式。
只读模式。
截断模式。
追加模式。
<操作符用于从文件中读取至stdin 。>操作符用于截断模式的文件写入(数据在目标文件内容被截断之后写入)。>>操作符用于追加模式的文件写入(数据被追加到文件的现有内容中,而且该目标文件中原有的内容不会丢失)。文件描述符可以用以上三种模式中的任意一种来创建。
为读取文件创建一个文件描述符:
$ exec 3<input .txt # 使用文件描述符3打开并读取文件
我们可以这样使用它:
$ exec3 <input.txt
现在你就可以在命令中使用文件描述符3了。例如:
this is a test line
如果要再次读取,我们就不能再继续使用文件描述符3了,而是需要用exec重新分配文件描述符3以便用于读取。
创建一个文件描述符用于写入( 截断模式):
$ exec 4>input .txt # 打开文件用于写入
例如:
$ echo newline >&4
$ cat output.txt
newline
创建一个文件描述符用于写入(追加模式):
$ exec 5 >>input .txt
例如:
$ echo appended line >&5
$ cat input.txt
newline
appended line
您可能感兴趣的文章:
(原创)shell中自定义文件描述符的方法介绍
shell脚本学习指南之输入输出与文本执行(图文)
inux shell初级入门教程
shell程序设计教程(1)
深入解析tcsh的初始化配置文件
shell内部命令使用详解
为shell编程新手准备的教程
linux shell通配符、特殊符号与文件描述符
linux shell变量解析
python和shell像吗