Bash内置命令exec和重定向
2015-06-06 00:54
691 查看
Bash内置命令exec可以替换当前程序而不需要启动一个新的进程,可以改变标准输入和输出而不需要启动一个新的子进程。
如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果要重新从文件开始读取,则必须把文件关闭再重新打开。
1、替换当前shell,执行某个命令,命令终止,shell也就终止了
$exec ls
2、打开文件作为当前shell的标准输入
$exec <file_name
3、打开文件作为当前shell的标准输出
$exec >file_name
4、打开文件作为输入,并分配文件描述符
$exec 3<datafile
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<filex //重新打开文件filex并分配文件描述符3,作为输入
$cat <& 3 //重定向cat命令的输入到文件描述符3,即文件filex
$exec 3<&- //关闭filex
=-=-=-=-=
Powered by Blogilo
如果文件用exec打开,read命令就会把文件指针每次指向下一行直到文件的末尾,如果要重新从文件开始读取,则必须把文件关闭再重新打开。
1、替换当前shell,执行某个命令,命令终止,shell也就终止了
$exec ls
2、打开文件作为当前shell的标准输入
$exec <file_name
3、打开文件作为当前shell的标准输出
$exec >file_name
4、打开文件作为输入,并分配文件描述符
$exec 3<datafile
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<filex //重新打开文件filex并分配文件描述符3,作为输入
$cat <& 3 //重定向cat命令的输入到文件描述符3,即文件filex
$exec 3<&- //关闭filex
=-=-=-=-=
Powered by Blogilo
相关文章推荐
- 三、后台执行命令
- Bash提示符
- Bash启动选项
- Bash内置命令
- MacOS copy图标shell脚本
- Shell学习
- linux shell 判断
- SHELLING
- 用Windows PowerShell 控制管理 Microsoft Office 365
- shell ssh 远程机器 追加文件内容
- linux shell俄罗斯方块
- IMSHello客户端的相关信息
- 在Windows、Linux下,分别利用BAT批处理文件和Shell脚本,生成类似“20150605_111327.txt”命名的文件
- shell的if else 以及大于,小于等逻辑表达式
- 使用 shell 脚本对 Linux 系统和进程资源进行监控
- 程序间协作方式-shell out
- 二、使用find和xargs
- PowerShell实现批量收集SCVMM中虚拟机IP-续
- Linux 文件传输客户端SSH Secure Shell Client
- xftp和xshell的使用