`
- 浏览:
254633 次
- 性别:
- 来自:
未定
-
shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。
因此,如果你在一个shell里面,执行exec ls那么,当列出了当前目录后,这个shell就自己退出了,因为这个shell进程已被替换为仅仅执行ls命令的一个进程,执行结束自然也就退出了。为了避免这个影响我们的使用,一般将exec命令放到一个shell脚本里面,用主脚本调用这个脚本,调用点处可以用bash a.sh,(a.sh就是存放该命令的脚本),这样会为a.sh建立一个sub shell去执行,当执行到exec后,该子脚本进程就被替换成了相应的exec的命令。
source命令或者".",不会为脚本新建shell,而只是将脚本包含的命令在当前shell执行。
不过,要注意一个例外,当exec命令来对文件描述符操作的时候,就不会替换shell,而且操作完成后,还会继续执行接下来的命令。
exec 3<&0:这个命令就是将操作符3也指向标准输入。
另外,这个命令还可以作为find命令的一个选项,如下所示:
(1)在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行
find ./ -name "*.txt" -exec grep "bin" {} \;
(2)在当前目录下(包含子目录),删除所有txt文件
find ./ -name "*.txt" -exec rm {} \;
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文结合Understanding Linux Kernel英文版第三版以及Linux2.6.11源代码详细分析了Linux exec函数族调用时内核对于进程切换所完成的一系列关于进程运行环境的初始化的过程。
Backup Exec12.5 Linux平台下Oracle RAC备份详细配置步骤
与DOS和早期的Windows不同,Unix/Linux系统是真正实现多任务操作的系统,可以说,不使用多进程编程,就不能算是真正的Linux环境下编程。 多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix...
Backup_Exec_Linux平台下Oracle备份详细配置步骤
linux中有六种调用形式及以exec开头调用函数
1.exec函数族 exec 为 execute(执行),exec 函数族用来替换调用进程所执行的程序,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行,替换前后进程的 PID 不会改变。 exec函数族中包括6个...
这两个函数都是执行Linux命令函数,不同的是获取返回结果不一样,exec只能获取最后一行数据,shell_execu则可以获取全部数据。 假如脚本路径下有如下文件: 复制代码 代码如下: -bash-4.1# ll 总用量 12 -rw-rw-r–. ...
BACKUP EXEC如何安装LINUX/UNIX下的AGENT
Symantec_Backup_Exec_12.5备份Linux下的Oracle_10G
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。...
Android下用Exec执行linux命令的源代码,还可以在应用中执行init.rc中服务,具体怎么执行服务的方法请见我博客的另一篇文章,上面有如何让Android应用启用init.rc中定义的服务的方法。
下面的代码用于在c++函数里面调用shell,并且执行命令,取回命令执行结果。 #include #include #include #include int main() { const int SIZE = 64; const int MAX_RESPONSE_SIZE = 65535;...
DoubleTake on linux exec hotsnap
linux linux linux linux linux linux linux linux linux linux find
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,...
exec函数示例
Backup Exce 2012 授权 (1) Backup Exec 2012 Agent For Linux 授权 (1) Backup Exec 2012 Agent For Windows 授权 (3) Backup Exec 2012 应用程式与资料库的代理程式授权(1) 另附Backup Exce 2012下载地址
linux代码
Linux Kernel 2.4 Internals, 完全解读 Linux Kernel 2.4,包含大量技术细节和详细讲解。
Symantec BE 2012授权文件SLF ,测试使用。 !!!Backup_Exce_2012_1.slf Backup_Exec_2012_Agent_For_Linux_1.slf Backup_Exec_2012_Agent_For_Windows_3.slf