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 ~]# 
相关推荐
IMPYLH3 分钟前
Linux 的 stdbuf 命令
linux·运维·服务器·bash
郝学胜-神的一滴5 分钟前
从底层看透Linux高性能服务器:epoll自定义封装与超时清理实战
linux·服务器·c++·网络协议·tcp/ip·unix
Elastic 中国社区官方博客6 分钟前
Elasticsearch 多年来的演进 —— LogsDB 如何在不影响吞吐量的情况下将索引大小减少高达 75%
大数据·运维·elasticsearch·搜索引擎·全文检索·可用性测试
keyipatience10 分钟前
12.GDB调试技巧与计算机体系结构解析
linux·运维·服务器
小夏子_riotous11 分钟前
Docker学习路径——9、Docker 网络深度解析:从默认网络到自定义网络实战
linux·运维·网络·docker·容器·centos·云计算
峥无15 分钟前
《read/write的秘密:文件描述符、重定向与用户态缓冲区》
linux·运维·服务器·进程
fish_xk22 分钟前
Linux操作系统
linux
zh路西法24 分钟前
【udev重命名详细教程】放弃硬编码,从重命名开始
linux·机器人
studytosky33 分钟前
【高并发内存池】线程缓存核心原理与实现
linux·服务器·git·缓存
lihao lihao35 分钟前
Linux文件与fd
java·linux·算法