首页 > 代码库 > exec 与文件描述符

exec 与文件描述符

参考http://blog.csdn.net/baoendemao/article/details/51638746 

 

1:用法

      exec 3<2.txt  以只读方式打开2.txt,文件描述符为3
      exec 3>2.txt  以只写方式打开2.txt,文件描述符为3
      exec 3<>2.txt  以读写方式打开2.txt,文件描述符为3
      exec 3<&-   关闭文件描述符3

 2:读取文件创建一个文件描述符   

1 [root@lile shell]# cat exec.sh 2 #!/bin/sh3 echo lile is good girl > input.txt4 exec 3< input.txt    #3与< 之间不能有空格

3:创建一个文件描述符用于写

1 #!/bin/sh2 exec 4> input2.txt3 echo newline >&4   #>与&$之间不能有空格

4:创建一个文件描述符用于追加

1 #!/bin/sh2 exec 5>> input3.sh   #先定义追加的符号3 echo append line >&5    #这里使用的时候还是用>

 

5:例子

       1)设定变量file的值为/etc/passwd
         2)使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容
         3)把这些行保存至/tmp/mypasswd文件中

#!/bin/sh#set variables file is /etc/passwd#get 2 4 6 8 10 14 15 /etc/passwd show#and echo in /tmp/passwdfile="/etc/passwd"for I in 2 4 6 8 10 14 15do   exec 3>> /tmp/passwd   username=`cat -n $file | head -$I |tail -1`   echo $username   echo $username >&3done   exec 3>&-

 

exec 与文件描述符