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 ~]# 
相关推荐
烛.照1032 小时前
Nginx部署的前端项目刷新404问题
运维·前端·nginx
安静的做,安静的学2 小时前
网络仿真工具Core环境搭建
linux·网络·网络协议
m0_742155433 小时前
linux ——waitpid介绍及示例
linux·c++·学习方法
华纳云IDC服务商4 小时前
超融合服务器怎么优化数据管理?
运维·服务器
会飞的土拨鼠呀4 小时前
Prometheus监控minio对象存储
运维·prometheus
hy____1234 小时前
动态内存管理
linux·运维·算法
ks胤墨4 小时前
Docker快速部署高效照片管理系统LibrePhotos搭建私有云相册
运维·docker·容器
小度爱学习4 小时前
数据链路层协议
运维·服务器·网络·网络协议·网络安全
龙之叶4 小时前
Android13源码下载和编译过程详解
android·linux·ubuntu
hhzz5 小时前
Ansible自动化运维实战--通过role远程部署nginx并配置(8/8)
运维·自动化·ansible