linux内建命令/内部命令之exec

1.exec介绍

exec是linux shell内建命令,该命令将使用一个特定的命令来取代当前进程。一般当shell遇到一个命令,它会forks off一个子进程来真正的运行命令,但使用exec内建命令,shell就不会fork一个子进程了,并且命令的执行将会替换掉当前shell。因此在脚本中使用时,一旦exec所执行的命令执行完毕,那么它就会强制退出脚本。

2.样例

复制代码
[root@elasticsearch ~]# cat exec.sh 
#!/bin/bash

exec echo "Exiting \"$0\"."
#脚本会在这里退出

echo "This echo will never echo."
exit 99
#脚本不会在这里退出。脚本退出后,使用echo $?来检查一下退出码,一定不是99
[root@elasticsearch ~]# sh exec.sh 
Exiting "exec.sh".
[root@elasticsearch ~]# echo $?
0
[root@elasticsearch ~]# 
相关推荐
33三 三like12 小时前
Jiangxi
linux·运维·服务器
昇腾知识体系12 小时前
昇腾 Atlas 800I A5 服务器:机型定位与部署入口
服务器·人工智能·华为·架构·知识图谱
2601_9539880712 小时前
Ricon组态 - 让数据可视化如此简单
运维·后端·物联网·数学建模·前端框架·c4前端
小马同学-12 小时前
01 容器技术概述
运维·docker·云计算
海宇大数据12 小时前
零信任架构实战:基于海宇单人婚姻状态查询构建自动化线上房产交易合规网关
运维·人工智能·架构·自动化
wuminyu12 小时前
Kafka的写入延迟与磁盘IO抖动原理分析
java·linux·c语言·jvm·c++
bloglin9999912 小时前
windows中如何像linux的lsof一样查看端口
运维
网硕互联的小客服12 小时前
服务器如何检查Web端口(如80/443)是否正常监听?
运维·服务器
buhuizhiyuci12 小时前
线程的互斥
linux·运维·服务器·c++
qetfw12 小时前
Debian Postfix + Dovecot + MariaDB 虚拟邮箱连接:SQL 用户、域名与别名配置
linux·debian