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 {} \;
原文地址:
http://www.360doc.com/content/10/1119/15/3688062_70691176.shtml
收藏在这里,只为自己方便查阅。
分享到:
相关推荐
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,...
Android下用Exec执行linux命令的源代码,还可以在应用中执行init.rc中服务,具体怎么执行服务的方法请见我博客的另一篇文章,上面有如何让Android应用启用init.rc中定义的服务的方法。
### Linux Find 命令详解 #### 一、前言:了解 find 命令 `find` 是 Linux 和类 Unix 系统中一个非常强大的工具,用于在文件系统中搜索文件。它提供了多种选项来根据不同的标准进行精确查找,如文件名、权限、拥有...
`-ok`或`-exec`选项可以与命令结合,当找到匹配项时执行指定的操作,如删除文件。 示例: ```bash find /var/log -type f -mtime +7 -ok rm {} \; ``` 这个命令会在 `/var/log` 目录中查找在过去7天未被修改的...
### Linux Find 命令详解 #### 概述 `find` 命令是 Linux 系统中一个非常强大的工具,用于在指定路径下查找文件。它支持多种选项来帮助用户精确地定位到需要的文件。通过 `find` 命令,用户可以基于文件名、文件...
- `find`:在指定路径下查找文件,`-type f`找文件,`-type d`找目录,`-name`按名字查找,`-atime`按访问时间查找,`-exec`执行命令。 5. **文件压缩和归档**: - `compress`和`uncompress`:用于压缩和解压缩.Z...
例如,`find`命令可以与其他命令如`exec`结合使用,对找到的文件执行进一步的操作。此外,手册可能还包括对shell脚本编程的介绍,这是自动化重复任务的关键。 提供的“Linux命令大全搜索工具 v1.5.1.md.pdf”很可能...
Linux Find命令是Linux系统中一个极其重要的工具,它允许用户在文件系统中查找符合特定条件的文件和目录。这个命令的灵活性和强大性使得它成为系统管理员和开发者的必备技能。下面将详细介绍Linux Find命令的一些...
### Linux完全命令参考知识点概述 #### 一、书籍基本信息与背景介绍 - **出版信息**:本书由Red Hat Software, Inc.出版,版权为1997年,第一版。国际标准书号为0-672-31104-6,图书馆藏书卡编号为97-66202。 - **...
`find`命令是Linux系统中一个非常强大的工具,用于在指定的目录结构中搜索符合特定条件的文件。本文主要探讨`find`命令的`-exec`选项,它允许我们在找到匹配文件后执行指定的命令。 `-exec`选项的基本语法是在`find...
exec命令用于调用并执行指定的命令。exec命令通常用在shell脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。 语法格式:exec [参数] 常用参数: -c 在空...
4. 关闭当前终端窗口,或者使用`exec $SHELL`命令重启当前的shell会话。这将使新的`/etc/profile`设置生效。 5. 打开一个新的终端窗口,或者在已重启的shell中运行`source /etc/profile`,确保配置更新已加载。 ...
Linux常用命令速查手册 Linux 操作系统是当今最流行的开源操作系统之一,广泛应用于服务器、超级计算机、嵌入式系统和个人计算机等领域。 Linux 的强大之处在于其高度可定制性、灵活性和安全性。为了更好地使用 ...
虽然`Runtime.exec()`提供了一种非常方便的方式来执行Linux命令,但是在实际应用中还需要注意以下几点: - **安全性**:直接执行外部命令可能会引入安全风险,特别是当命令字符串包含来自不可信源的数据时。 - **...
总结,通过Java执行远程Linux服务器命令主要涉及到SSH协议、JSch库的使用,以及可能的工具类库如Apache Commons Exec。这些技术在日常的系统管理和自动化任务中扮演着重要角色,帮助开发者实现远程操作和管理。
### Linux下Fork与Exec使用的相关知识点 #### 一、引言 - **Fork的概念**: `fork()` 是 Unix/Linux 操作系统中最杰出的功能之一,它允许一个正在运行的进程创建一个新进程,这个新进程被称为子进程。子进程几乎是...
Linux常用命令大全 Linux操作系统中有许多实用的命令,以下是常用的命令大全,涵盖了系统信息、文件和目录、磁盘管理、网络管理、进程管理、用户管理等方面。 系统信息命令: * arch:显示机器的处理器架构 * ...
在Linux系统下,Java编程语言提供了丰富的API来执行操作系统级别的命令。这主要通过`java.lang.Runtime`类和`java.lang.ProcessBuilder`类实现。本文将深入讲解如何在Java程序中调用Linux命令,并通过实例来阐述这一...
1.exec函数族 exec 为 execute(执行),exec 函数族用来替换调用进程所执行的程序,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行,替换前后进程的 PID 不会改变。 exec函数族中包括6个...