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 ~]# 
相关推荐
克莱因3587 分钟前
Linux Cent OS7 at定时任务
linux·运维·服务器
RisunJan7 分钟前
Linux命令-make(GNU的工程化编译工具)
linux·运维·gnu
闲猫12 分钟前
Linux 历史命令(history)
linux·运维·chrome
Memory_荒年25 分钟前
TiDB 单机部署与监控完整指南
运维·数据库·后端
耗子会飞34 分钟前
小白学习centos7安装RocketMQ
运维
jiayou6434 分钟前
金仓数据库 KSQL 连接实战:从基础连接到密码管理与故障排查
运维
renhongxia142 分钟前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱
程序员小董1 小时前
从 RocksDB 定时器出发:手写一个通用的 Linux 高精度定时器
linux·服务器
旺仔.2911 小时前
线程安全 详解
linux·计算机网络·安全
大傻^2 小时前
Spring AI 2.0 MCP 协议实战:Model Context Protocol SDK 与多服务器编排
服务器·人工智能·spring