Linux中exec的用法总结
先总结一个表:
exec命令 |
作用 |
exec ls |
在shell中执行ls,ls结果显示结束后不返回原来的的目录中,而是/(根目录) |
exec <file |
将file中的内容作为exec的标准输入 |
exec >file |
将file中的内容作为标准写出 |
exec 3<file |
将file读入到fd3中 |
sort <&3 |
fd3中读入的内容被分类 |
exec 4>file |
将写入fd4中的内容写入file中 |
ls >&4 |
Ls将不会有显示,直接写入fd4中了,即上面的file中 |
exec 5<&4 |
创建fd4的拷贝fd5 |
exec 3<&- |
关闭fd3 |
1. exec 执行程序
虽然exec和source都是在父进程中直接执行,但exec这个与source有很大的区别,source是执行shell脚本,而且执行后会返回以前的shell。而exec的执行不会返回以前的shell了,而是直接把以前登陆shell作为一个程序看待,在其上经行复制。
2. exec 举例
1) exec </dev/tty1 //作用:将串口终端显示的字符作为输入到exec
比如在按键input驱动中:执行exec </dev/tty1 后,按开发板上的按键,串口终端显示按下的字符,
再按开发板上的确定键,将执行命令,而在电脑串口终端上按确认键将无效。