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 ~]# 
相关推荐
曹牧8 小时前
VS: Visual Studio 里把未包含的文件加进项目2
linux·运维·算法
微软技术分享9 小时前
NexShell 1.0|大模型驱动的智能 SSH 运维终端,永久免费,赋能 Linux 服务器管理
运维·服务器·ssh
坤坤子吖9 小时前
Linux 线程概念与控制——线程创建、退出与等待
linux·开发语言·c++·笔记·学习
Chenyu_3109 小时前
NUMA 基础:从 CPU、内存到 Node 的整体理解
linux·服务器·网络·缓存
小白的码BUG之路17 小时前
linux -- ssh两台机器相连
运维·服务器·ssh
缓慢更新19 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
续写烂尾19 小时前
贴片 SD NAND、eMMC、TF 卡规格怎么定?硬件工程师选型清单
运维·服务器·网络
不昀19 小时前
网口Link Up后仍然掉线,怎样区分物理链路和数据通路问题?
linux·以太网
迪康妍妍19 小时前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
sxgzzn19 小时前
如何选择合适的开关柜在线监测工具?
运维·重构·无人机·开关柜局放在线监测·光伏运维管理系统