exec是用新的进程去代替原先的进程,原先的进程就消失了。 exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。 bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(....
shellexec命令 exec 是 bash 的内置命令 shell 的内件命令exec执⾏命令时,不启⽤新的shell进程。source 和 . 不启⽤新的shell,在当前shell中执⾏,设定的局部变量在执⾏完命令后仍然有效。bash 或 sh 或 shell script 执⾏时,另起⼀个⼦shell,其继承⽗shell的环境变量,其⼦shelll的变量...
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命...
exec是用被执行的命令行替换掉当前的shell进程,且exec命令后的其他命令将不再执行。 例如在当前shell中执行 exec ls 表示执行ls这条命令来替换当前的shell ,即为执行完后会退出当前shell。 为了避免父shell被退出,一般将exec命令放到一个子shell脚本中,在父sehll中调用这个子shell脚本,调用处...
exec echo "After exec" echo "This line will not be executed" 在上面的示例中,脚本首先输出 "Before exec",然后使用exec命令替换Shell进程为echo "After exec",因此只会输出 "After exec",而最后一行不会被执行。 切换到不同的命令解释器 exec命令还可以用于切换到不同的命令解释器。通过使用exec命令并提供不...
使用exec命令可以实现以下功能: 执行一个新的命令并替换当前进程。 将当前脚本的执行环境传递给新的进程。 在脚本中启动后台进程并将控制权转移到后台进程。 使用Exec 命令 以下是在 Shell 脚本中使用exec命令的一些常见用法和示例: 1. 执行新的命令 您可以使用exec命令在脚本中执行新的命令并替换当前进程。以下是一...
shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。 因此,如果你在一个shell里面,执行exec ls;那么,当列出了当前目录后,这个shell就自己退出了,因为这个shell进程已被替换为仅仅执行ls命令的一个进程,执行结束自然也就退...
exec 是 bash 的内置命令,exec是用被执行的命令行替换掉当前的shell进程,且exec命令后的其他命令将不再执行。 1,先说说重定向 除了>和>>有重定向的作用,exec也有,比如这个例子: 是将标准输出的结果重定向到f.txt,不是显示到终端上。 1#!/bin/bash ...
这就是exec的用的,它会告诉linux内核,直接在当前shell脚本进程中,加载并执行目标程序。 这一过程会覆盖掉原shell脚本进程中的各种代码和数据信息,使得原shell脚本进程立即停止运行,并转向执行目标程序代码。 exec命令本质上是执行了execve系统调用,如果想要了解该命令的具体细节,可以查看execve的man文档。
exec命令的基本语法如下: execCOMMAND[ARGUMENTS] 其中,COMMAND是要执行的命令,ARGUMENTS是传递给命令的参数。 下面我们将介绍几个常见的使用exec命令的场景: 替换当前 Shell 进程 在Bash Shell脚本中,您可以使用exec命令替换当前的Shell进程。这样做的效果是在脚本中执行完exec命令后,当前Shell进程将被替换为新的命令,原...