Linux系统exec命令.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux系统exec命令

Linux系统exec命令 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 30:这个命令就是将操作符3也指向标准输入。 另外,这个命令还可以作为find命令的一个选项,如下所示: (1)在当前目录下(包含子目录),查找所有txt文件并找出含有字符串bin的行 find ./ -name *.txt -exec grep bin {} \; (2)在当前目录下(包含子目录),删除所有txt文件 find ./ -name *.txt -exec rm {} \; 先总结一个表: exec命令 作用 exec ls 在shell中执行ls,ls结束后不返回原来的shell中了 exec file 将file中的内容作为exec的标准输入 exec file 将file中的内容作为标准写出 exec 3file 将file读入到fd3中 sort 3 fd3中读入的内容被分类 exec 4file 将写入fd4中的内容写入file中 ls 4 Ls将不会有显示,直接写入fd4中了,即上面的file中 exec 54 创建fd4的拷贝fd5 exec 3- 关闭fd3 1. exec 执行程序 虽然exec和source都是在父进程中直接执行,但exec这个与source有很大的区别,source是执行shell脚本,而且执行后会返回以前的shell。而exec的执行不会返回以前的shell了,而是直接把以前登陆shell作为一个程序看待,在其上经行复制。 举例说明: root@localhost:~/test#exec ls exp1 exp5 linux-4 ngis_post.sh test xen-3.0.1-install logout root@localhost:~/test#exec text root@localhost:~/test#ls root@localhost:~/test#pwd root@localhost:~/test#echo hello root@localhost:~/test#exec/dev/tty root@localhost:~/test#cat text exp1 exp5 linux-4 ngis_post.sh test text xen-3.0.1-install /root/test hello root@localhost:~/test# Exec text 是将当前shell的标准输出都打开到text文件中 root@localhost:~/test#cat test ls Pwd root@localhost:~/test#bash root@localhost:~/test#exec test root@localhost:~/test#ls exp1 exp5 linux-4 ngis_post.sh test text xen-3.0.1-install root@localhost:~/test#pwd /root/test root@localhost:~/test# root@localhost:~/test#exit #自动执行 2. exec的重定向 先上我们进如/dev/fd/目录下看一下: root@localhost:~/test#cd /dev/fd root@localhost:/dev/fd#ls 0 1 2 255 默认会有这四个项:0是标准

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档