设为首页 加入收藏

TOP

Bash内置命令exec和重定向
2015-07-16 12:55:28 来源: 作者: 【 】 浏览:2
Tags:Bash 内置 命令 exec 定向

Bash内置命令exec可以替换当前程序而不需要启动一个新的进程,可以改变标准输入和输出而不需要启动一个新的子进程。
如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果要重新从文件开始读取,则必须把文件关闭再重新打开。


1、替换当前shell,执行某个命令,命令终止,shell也就终止了
$exec ls


2、打开文件作为当前shell的标准输入
$exec

3、打开文件作为当前shell的标准输出
$exec >file_name


4、打开文件作为输入,并分配文件描述符
$exec 3

5、打开文件作为输出,并分配文件描述符
$exec 4>datafile


6、创建文件描述符fd4的拷贝fd5
$exec 5<&4


7、关闭文件描述符
$exec 3<&- //关闭输入文件描述符
$exec 4>&- //关闭输出文件描述符


注意: <&和重定向操作符>&、&>的区别


例子:


$exec 3>filex //打开文件filex并分配文件描述符3,作为输出
$who >& 3 //who命令的输出输出到filex
$date >& 3 //date命令的输出输出到filex
$exec 3>&- //关闭filex
$exec 3$cat <& 3 //重定向cat命令的输入到文件描述符3,即文件filex
$exec 3<&- //关闭filex


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇微软2014校园招聘笔试试题 下一篇Bash提示符

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: