您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Linux 命令正确的退出方式:exit 0

时间:2020-06-10 13:47:08  来源:  作者:

引言

通常,在编写Bash脚本时,需要在满足特定条件时终止脚本,或者根据命令的退出代码采取措施。

在本文中,我们将介绍Bash exit内置命令和已执行命令的退出状态。

3分钟短文 | Linux 命令正确的退出方式:exit 0

 

退出状态

每个shell命令在成功终止时都会返回退出代码。

按照惯例,退出代码为零表示命令已成功完成,非退出代码为零表示遇到错误。

特殊变量$?返回最后执行的命令的退出状态:

date &> /dev/null
echo $?

该 date 命令成功完成,并且退出代码为 0。

如果尝试ls在不存在的目录上运行,则退出代码将为非零:

ls /nonexisting_dir &> /dev/null
echo $?

结果输出 2。

状态代码可用于找出命令失败的原因。每个命令的手册页,都包含有关退出代码的信息。

当执行多命令管道时,管道的退出状态为最后一条命令的退出状态

sudo tcpdump -n -l | tee file.out
echo $?

在上面的示例中,echo $?将打印 tee 命令的退出代码。

Bash exit 指令

该exit命令以 N 状态退出 shell 程序。它具有以下语法:

exit N

如果N未给出,则退出状态代码是最后执行的命令的退出状态代码。

在shell脚本中使用时,作为exit命令参数提供的值将作为退出代码返回给shell。

举例说明

命令的退出状态可用于条件判断语句。在以下示例中,如果在文件 filename 内使用grep找到字符串“search-string”,则将以 0 退出(这在shell脚本中为true):

3分钟短文 | Linux 命令正确的退出方式:exit 0

 

运行以&&(AND)或||(OR)分隔的命令列表时,命令的退出状态确定是否将执行列表中的下一个命令。此处,mkdir 仅在cd返回 0 时才执行命令:

cd /opt/code && mkdir project

如果脚本结尾exit没有指定参数,则脚本退出代码是脚本中最后执行的命令的退出代码。

#!/bin/bash

echo "doing stuff..."

exit

仅仅使用 exit,相当于调用 exit $?。或者你也可以省略 exit。

下面是显示非脚本用户调用脚本时如何终止脚本的示例:

3分钟短文 | Linux 命令正确的退出方式:exit 0

 

如果您以root用户身份运行脚本,则退出代码将为零。否则,脚本将以status退出1。

写在最后

每个 shell 命令终止时,都会返回退出码,在 bash 脚本中你可以灵活地使用,并控制程序流程。

HAppy coding :_)



Tags:Linux   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  Tags: Linux  点击:(12)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  Tags: Linux  点击:(7)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  Tags: Linux  点击:(22)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  Tags: Linux  点击:(28)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  Tags: Linux  点击:(29)  评论:(0)  加入收藏
近日,外媒 ZDNet 评选了适合专业人士使用的 Linux 桌面版操作系统,并排出了前五名。这里的专业人士主要指从事开发、运维、网络安全等行业的人员。开发者首选:Fedora 来自 Red...【详细内容】
2021-12-09  Tags: Linux  点击:(27)  评论:(0)  加入收藏
su和sudo这两个命令是Linux运维必须要会的,通常在生产环境中都是使用普通帐号来登录,再使用su或sudo来执行一些管理命令。su命令su:run a shell with substitute user and grou...【详细内容】
2021-12-07  Tags: Linux  点击:(23)  评论:(0)  加入收藏
0|无效端口,通常用于分析操作系统 1|传输控制协议端口服务多路开关选择器 2|管理实用程序 3|压缩进程 5|远程作业登录 7|回显 9|丢弃 11|在线用户 13|时间 17|每日引用 18|...【详细内容】
2021-12-07  Tags: Linux  点击:(32)  评论:(0)  加入收藏
虽然技术在进步,Linux各发行版本已经更新迭代的很多了,目前Centos、Redhat已经出到8了,Ubuntu已经到21.04了,但我相信一定有很多朋友跟我一样因为各种各样的问题还在使用老久的2...【详细内容】
2021-11-30  Tags: Linux  点击:(41)  评论:(0)  加入收藏
1. 前言本文主要介绍Rocky Linux 8.5的新特性以及如何把当前版本升级至最新版本。Rocky Linux在RHEL 8.5发布不到48小时的时间里,Rocky Linux开发团队成功地对iso镜像进行了...【详细内容】
2021-11-26  Tags: Linux  点击:(76)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条