shell中的exec

在 Shell 脚本中使用 `exec` 命令的方法和用途 exec是一个用于替换进程或执行命令的 Shell 内建命令。它可以将当前脚本的执行环境替换为新的进程,并在执行新进程后不返回到原始脚本。简单来说,exec命令用于取代当前进程并执行新的命令。使用exec命令可以实现以下功能:执行一个新的命令并替换当前进程。将当前脚本的执行环境传递给新的进程。在脚本中启动后台进程并将控制权转移到后台进程。exec命令是一个在 Shell 脚本中非常有用的工具,可以用于执行新的命令、传递执行环境给新进程以及启动后台进程。使用exec。 阅读详情

shell中exec命令

1、find中的-exec参数

在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行

find ./ -name "*.txt" -exec grep "bin" {} \;

在当前目录下(包含子目录),删除所有txt文件

find ./ -name "*.txt" -exec rm {} \;

Execute  command;  true  if 0 status is returned.  All following arguments to find are taken to be arguments to the command until  an  argument  consisting of `;' is encountered.  The string `{}' is replaced by the current file name being processed  everywhere  it occurs in the arguments to the command, not just in arguments where it is alone.

2、shell的内置命令命令exec

#!/bin/ksh

export LOG=/tmp/test.log

exec >> $LOG 2>&1

ls -l kevin.txt

exit 0

exec [arg]

If arg is present, executes arg in place of this shell.

(arg will replace this shell).

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也指向标准输入。

原文

[1]http://blog.chinaunix.net/uid-20652643-id-1906436.html

[2]http://zhgw01.blog.163.com/blog/static/1041481220098944425489/

[3]http://blog.youkuaiyun.com/clozxy/article/details/5818465

[4]http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html

[5]http://www.cnblogs.com/mydomain/archive/2013/02/24/2924552.html

S参数反演法 等效介质理论模型— 利用S参数反演法提取超材料结构的等效参数 等效介质理论模型—利用S参数反演法提取超材料结构的等效参数 S参数反演法,即利用等效模型的传输矩阵和S参数求解超材料结构的等效折射率n和等效阻抗Z的过程。本文对等效介质理论模型进行了详细介绍,并提供对应代码。 超材料的传输矩阵 超材料结构的传输矩阵函数为: 其中,d 为等效光学活性材料的厚度,n 为折射率,Z 表示阻抗。 S参数和传输矩阵T 超材料结构的S参数和传输矩阵T满足下列方程: 利用以上两式,可以得到等效折射率n和相对阻抗的表达式 阅读详情

相关推荐

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

shell中的exec命令说明

经常看到一些shell脚本中用到exec,且每次都要花时间去理解,索性将典型的应用列出来,方便理解 首先讲下exec,这个命令在linux里面也有,主要是创建进程且exec之后的代码将不会执行,只会执行exec执行的进程,例如exec ls,则只会执行ls命令,而exec后面的代码不再执行 但是shell里面一般不是这么用的,很多时候都是用来重定向文件描述符,这种情况下不会重新创建进行,而是会继续执行后面的代码

casey520的博客 6826

Rope DFM一键整合包AI脸部替换教程:使用DeepFaceLab模型实现专业级视频和直播脸部替换

在AI脸部替换工具中,Rope凭借其出色的自动遮罩处理拔得头筹,结合DFM模型中的DFL XSeg遮罩处理,效果更是提升了一个台阶。因为在训练模型时,它已经通过大量的侧脸图片进行训练,达到了单张图片无法企及的效果。然而,想要通过DeepFaceLab获得专业级的效果,不仅难度大,时间成本也相当高,训练模型也是个不小的挑战。举个简单的例子,使用图片脸部替换时,如果佩戴眼镜,脸部替换后的可能会显得很假。另外,在视频中,比如歌手演唱时,话筒遮挡住脸部,这种场景也可以通过遮罩训练后的模型来处理,呈现出更逼真的效果。

m0_72580657的博客 8160

shell exec命令(exec指令)(实现进程替换)

exec 是一个 Shell 内置命令,它的作用是将当前进程替换为指定的命令或程序。具体来说,exec 命令会将指定的命令或程序加载到当前进程的内存空间中,并将当前进程的 PID(进程 ID)保持不变,同时替换当前进程的代码、数据和堆栈等信息,从而实现进程的替换。实现进程的替换:使用 exec 命令可以实现进程的替换,从而在不创建新进程的情况下更新进程的代码和数据。优化进程性能:使用 exec 命令可以减少进程间的通信和数据拷贝,从而提高进程的性能。在脚本中看到exec命令,不知道干什么用的。

Dontla的博客 1万+

ARM学习 | 紧耦合存储器 (TCM)

TCM 是一种专用的片上存储器,直接与处理器核心耦合。确定性访问:由于不涉及缓存替换或一致性管理,访问延迟固定。高带宽:TCM 通常通过专用总线连接处理器核心,可以提供更高的数据吞吐率。用户管理:TCM 的分配和管理完全由开发者控制,不依赖硬件缓存策略。ARM 处理器中的 TCM 通常分为ITCM(指令紧耦合存储器)和DTCM(数据紧耦合存储器),分别用于存储指令和数据。TCM 是 ARM 处理器中不可忽视的重要特性,在实时系统和高性能嵌入式应用中具有重要地位。

qq_43167806的博客 3329

二维紧束缚模型求解程序

假如我们已经推导出了二维紧束缚模型的哈密顿量矩阵H(kx,ky)的解析形式,那么在整个布里渊区对角化矩阵就可以得到能带。从技术上说这里面有以下几个问题。 1. 缺少实空间和倒空间的坐标,使得能带难以和布里渊区高对称点对应。 2. 最容易处理的布里渊区是矩形,对于其他多边形,如果全布里渊区mesh画费米面有一定技术困难。 因此一个好的处理框架是首先给出实空间原子坐标,给出实空间哈密顿量,...

wwxy1995的博客 4082

Linux系统exec命令

shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。  因此,如果你在一个shell里面,执行exec ls那么,当列出了当前目录后,这个shell就自己退出了,因为这个shell进程已被替换为仅仅执行ls命令的一个进程,执行结束自然也就退出了。为了避免这个影响我们的使用,一般将exe

be happy 9495

UE5 GAS 学习笔记 1.2游戏标签

这一节对GameplayTag游戏标签进行详细的讲解。

CloudHuCoding 1927

shell exec命令

exec 是 Shell 内置命令,它有两种用法,一种是执行 Shell 命令,一种是操作文件描述符。本节只讲解后面一种,前面一种请大家自行学习。 使用 exec 命令可以永久性地重定向,后续命令的输入输出方向也被确定了,直到再次遇到 exec 命令才会改变重定向的方向;换句话说,一次重定向,永久有效。 嗯?什么意思?难道说我们以前使用的重定向都是临时的吗?是的!前面使用的重定向都是临时的,它们只...

楼.耶路隋兰的博客 2万+

基于 Simulink 的固态变压器(SST)多级协同控制实战教程

《固态变压器多级协同控制仿真指南》摘要: 本教程详细讲解了基于Simulink的固态变压器(SST)三级架构建模与控制方法。核心内容包含:1)搭建级联H桥整流(CHB)、双有源桥(DAB)和逆变器(VSI)的三级主电路;2)提出创新的多级协同控制策略,通过功率前馈实现输入输出级动态匹配;3)给出系统级功率平衡、单元级均压控制的具体实现方案。教程特别强调解决实际工程中的关键问题:代数环处理、软启动设计和刚性系统求解器选择,并提供了硬件在环(HIL)仿真建议。附带的MATLAB代码示例可直接用于实现电容电压均衡

xiaoheshang_123的博客 117

西安交通大学软件学院——分布式系统练习题(综合题)

摘要:本文探讨了分布式系统的核心特性与关键问题。首先阐述了分布式系统的8种透明性特性,包括访问、定位、迁移等。然后通过具体案例分析了分布式事务的回滚机制、域名解析的迭代与递归过程、不同分布式系统的异同比较。重点讨论了RPC通信中客户端/服务器崩溃的处理方法,包括消灭、再生和到期三种策略。最后介绍了Lamport时间戳算法在进程通信中的应用及问题解决方案。全文涵盖了分布式系统设计中的透明性、可靠性、一致性等核心问题。

qq_73044452的博客 204

shell的exec命令

概述 在docker的启动脚本中,我们经常可以看到有exec来启动执行命令,那这个到底有什么作用呢?我们来简单验证一下。 #!/bin/bash set -euo pipefail # Check if the the user has invoked the image with flags. # eg. "apm-server -c apm-server.yml" if [[ -z $1 ]] || [[ ${1:0:1} == '-' ]] ; then exec apm-server "

叶青 3008

模型可解释性分析:基于SHAP的深度探索

SHAP模型可解释性分析摘要 本文系统性地介绍了SHAP(SHapley Additive exPlanations)方法在机器学习模型可解释性分析中的应用。SHAP基于博弈论的Shapley值理论,为特征重要性评估提供了统一框架。文章详细阐述了四种核心算法:Kernel SHAP(模型无关方法)、Tree SHAP(针对树模型的高效算法)、Deep SHAP(适用于深度学习)和Linear SHAP(线性模型专用)。通过Python实现展示了从数据准备到SHAP分析的全流程,包括摘要图、依赖图等可视化技术

huanghm88的专栏 606

php中的shell_exec函数,PHP exec函数和shell_exec函数的区别

PHP exec函数和shell_exec函数的区别发布于 2014-08-28 00:02:05 | 596 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP...

weixin_39966130的博客 438

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

shell_exec 和 exec区别

函数将命令的返回值存储在提供的变量中,通常为 0 表示成功,非零值表示失败。如果您只需要获取命令的输出结果作为字符串,可以使用。函数需要将命令作为字符串参数传递,并将输出结果存储在提供的数组变量中。如果您需要对输出结果进行进一步处理或需要获取命令的返回值,可以使用。都是用于在 PHP 中执行系统命令的函数,但它们之间有一些区别。函数返回命令的完整输出结果,包括所有行,而。函数可以直接将命令作为字符串参数传递,而。函数返回命令的输出结果作为字符串,而。函数只返回命令的最后一行输出。函数在命令执行失败时返回。

dj1540225203的博客 2162

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

php中的shell_exec函数,exec与shell_exec函数在PHP中的区别是什么

exec与shell_exec函数在PHP中的区别是什么发布时间:2020-12-31 17:11:47来源:亿速云阅读:115作者:Leah这期内容当中小编将会给大家带来有关exec与shell_exec函数在PHP中的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。这两个函数都是执行Linux命令函数,不同的是获取返回结果不一样,exec只能获取最后...

weixin_39694838的博客 931

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Dockerfile中的shell,exec的区別

Dockerfile中Entrypoint和Cmd的exec和shell语法 在Dockerfile的Entrypoint和Cmd命令中exec和shell语法的不同。 shell格式 RUN apt-get install -y vim CMD echo “docker so easy” ENTRYPOINT echo “docker so easy” Exec格式 RUN [“apt-get”,“install”,"-y",“vim”] CMD [“echo”,“docker so easy”] ENT

zhyysj01的博客 2322

execv shell_shell的exec命令

1 shell 中的exec用法在shell脚本中使用exec命令,根据操作的对象不同会有不同的行为1 操纵文件描述符这里面又要说说描述符 shell中有12个描述符其中 0 代表标准输入1 代表标准输出2 错误其他 3-9 都是空白描述符最常用的是shell中出现exec3>&14>&21>>zhis_bash.log2>&1其含义...

weixin_39624705的博客 222

shell中exec命令

shell中exec命令 1、find中的-exec参数 在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行 find ./ -name "*.txt" -exec grep "bin" {} \; 在当前目录下(包含子目录),删除所有txt文件 find ./ -name "*.txt" -exec rm {} \; Execute  command;  t

wangxin 的专栏 2269

ctf中遇到exec和shell_exec的回显问题

exec函数会将系统命令拆分成多个参数,然后逐个执行,而shell_exec函数只需要一次性执行,所以shell_exec函数执行效率更高。exec函数会返回最后一行执行结果,如果执行的命令有多行输出,只会返回最后一行,而shell_exec函数会返回执行结果的全部内容。exec函数会返回最后一行执行结果,如果执行的命令有多行输出,只会返回最后一行,而shell_exec函数会返回执行结果的全部内容。同时,shell_exec等同于``反引号。

weixin_74761057的博客 771

php shell exec,PHP shell_exec()与exec()的区别

我很难理解shell_exec()和exec()之间的区别我一直习惯使用exec()执行服务器端命令,但不知道shell_exec()什么时候使用?shell_exec()是否只是exec()的一个速记?参数较少似乎是一样的。区别:shell_exec将所有输出流作为字符串返回。exec默认情况下返回输出的最后一行,但可以将所有输出提供为指定为第二个参数的数组。shell_exec- 通过shel...

weixin_33398033的博客 511

SHELL脚本中exec命令

1 shell 中的exec用法  在shell脚本中使用exec命令,根据操作的对象不同会有不同的行为  1 操纵文件描述符     这里面又要说说描述符 shell中有12个描述符    其中 0 代表标准输入         1 代表标准输出         2 错误         其他 3-9 都是空白描述符     最常用的是shell中出现           ex

道行尚浅(老道)的博客 1万+

php中shell_exec,php中shell_exec() 与 exec()函数的区别

shell_exec()函数是PHP中的一个内置函数,用于通过shell执行命令并以字符串的形式返回完整的输出。shell_exec是backtick操作符的别名,用于*nix。如果命令失败,则返回NULL,并且这些值对于错误检查不可靠。语法:string shell_exec( $cmd )参数:此函数接受单个参数$cmd,该参数用于保存将要执行的命令。返回值:此函数返回已执行的命令,如果发生错...

weixin_31880383的博客 3639

exec 与shell_exec的区别

手册 shell_exec函数运行在shell脚本环境,没有返回值 shell_exec (PHP 4, PHP 5, PHP 7) shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。 说明 string shell_exec ( string $cmd ) 本函数同 执行操作符。 参数 cmd 要执行

笔记 1万+
上一篇: linux tee 命令详解
下一篇: CentOS分区方案
常用技术
博客等级 码龄17年 91粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值