迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

退出 Bash 脚本

作者:迹忆客 最近更新:2023/06/10 浏览次数:

本文简要介绍 Bash 脚本,并讨论在出现错误时退出 Bash 脚本。 它进一步讨论了 Bash 脚本的局限性和好处。


什么是 Bash 脚本

计算机脚本/程序告诉计算机做什么和说什么。 同样,Bash 脚本是指导 Bash 执行哪些操作的一系列命令。

Bash 脚本是一个简单的文本文件,其中包含一组要执行的命令。 这个命令集可以是我们可以直接在 Bash 界面上编写的许多命令行指令(例如 ls、cd、rm 等)的顺序组合。

从命令行提示符下执行的任何命令也可以放入脚本中,并产生与在命令行提示符下相同的结果。 同样,脚本文件中的每个命令也可以直接输入 Bash 命令行界面,结果是一样的。

不需要额外的调整。 您只需要根据语法输入命令,它们就会给出相同的结果。

我们不是将它们放在命令行中,而是将它们输入到一个简单的文本文件中。

扩展名 .sh 通常用于 Bash 程序(例如 loopScript.sh)。 您可能知道,Linux 是一个免扩展的操作系统; 因此,扩展不是脚本正常工作所必需的。


何时避免使用 Bash 脚本(即限制)

在某些情况下,应避免使用 Bash 脚本。 他们之中有一些是:

  1. 需要大量资源的任务,尤其是当速度是主要关注点时(排序函数、散列函数、递归函数等)
  2. 需要大量数学运算的函数,例如浮点运算,或者使用复数进行计算(而不是使用 C++ 或 FORTRAN)。 在不同平台之间创建可移植应用程序时,应使用 C 或 Java。
  3. 复杂的应用程序需要结构化编程。
  4. 关乎公司未来的关键业务计划。
  5. 安全性至关重要的情况,例如当您需要确保系统的完整性并防止入侵、破解或损坏时。
  6. 该项目由相互关联的子组件组成。
  7. 需要大规模的文件活动。 (Bash 只能以逐行方式访问串行文件。)
  8. 多维数组需要本机支持。
  9. 需要数据结构,例如队列或图形。
  10. 需要创建或管理视觉效果或图形用户界面。
  11. 需要与硬件或外围设备交互。
  12. 需要 I/O 端口或插座。
  13. 您需要使用内置库或一些旧的遗留代码。
  14. 封闭源代码的专有应用程序(Shell 脚本使源代码可供任何想查看它的人使用。)

如何退出脚本

有一些情况,比如我们写了一个脚本来测试一些代码,需要退出脚本以防代码执行失败,那么我们就可以在脚本中使用exit命令。 脚本以 exit 命令终止,很像 C 程序。

exit 命令也可用于进程间通信(即传递给 exit 命令的参数返回给脚本的父进程)。

每个命令都会产生成功或失败状态(返回状态或退出代码)。 命令成功返回0; 不成功的命令会产生一个非零值,通常理解为错误代码。

成功完成后,大多数行为良好的 UNIX 命令、程序和实用程序都会返回 0 退出代码,但也有一些例外。

脚本的函数和脚本本身都返回退出状态。 退出状态由函数或脚本的最后一个命令决定。

退出命令的语法是:

exit nn

可以在脚本中使用 exit nn 命令为 shell 提供 nn 退出状态(nn 必须是 0 - 255 范围内的整数)。 退出状态是脚本中执行的最后一个命令在以不带参数的退出(退出之前)终止时的退出状态。

例子:

#!/bin/bash

FIRST COMMAND
..
..
LAST COMMAND
# It will exit the script with the status of the last command.
exit

exit , exit $? 或者只是省略 exit 都具有相同的含义:以最后一个命令的状态退出。 脚本退出后,我们可以使用命令 echo $? 检查状态。

某些退出代码有一些保留的含义,不应由用户定义。 这些代码及其含义如下所列。

退出代码 说明
1 捕获所有一般错误
2 如果内置 shell 函数被滥用
126 调用的命令无法执行
127 调用的命令未找到
128 传递了个无效参数
130 脚本通过使用 Ctrl+C 键盘键终止
255* 超出范围退出状态

上一篇:Bash 中的 timeout 命令

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Bash 中的 timeout 命令

发布时间:2023/06/11 浏览次数:63 分类:操作系统

本文是使用 Bash 中 GNU 的 coreutils 包的 timeout 命令为特定程序设置超时的简单指南。Bash 中的 timeout 命令

在 Bash 中检查语法

发布时间:2023/06/11 浏览次数:97 分类:操作系统

在 Bash 脚本中情况并非如此,因为 Bash 是一个命令行解释器。 因此,我们需要单独检查语法错误。可以有不同的技术来检查语法问题,如下所示。

使用 Bash 对文本文件中的数字列表求和

发布时间:2023/06/11 浏览次数:109 分类:操作系统

本篇文章将介绍使用 Bash 脚本对文件中的数字列表求和的多种方法。 第一种方法涉及使用粘贴命令,我们将讨论两种情况:使用现有文件和使用标准输入读取文件。

在 Bash 中传递所有参数

发布时间:2023/06/11 浏览次数:197 分类:操作系统

在 Bash 脚本中,我们主要使用语法 $1 $2 $3 ... $N 在函数中传递变量。此外,我们将看到必要的示例和解释,以使主题更容易理解。在 Bash 中传递所有参数

在 Bash 中解析 XML

发布时间:2023/06/11 浏览次数:109 分类:操作系统

本文将展示我们如何通过 Bash 解析 XML。我们将在这里讨论两个库。 我们的第一个库是 xmllint,第二个库称为 XMLStarlet。在 Bash 中使用 xmllint 解析 XML

Bash 脚本中的 Echo Tab 字符

发布时间:2023/06/11 浏览次数:198 分类:操作系统

本文演示了如何回显特殊字符(例如制表符),否则这些字符会在 Bash 脚本中转换为单个空格字符。 这扩展到 Bash 以外的 shell(例如 zsh)。

在 Bash 中回显到 stderr

发布时间:2023/06/11 浏览次数:102 分类:操作系统

本文将了解 stderr 及其功能。 此外,我们将查看一些示例,这些示例将使该主题更容易理解。在 Bash 中回显到 stderr 命令 stderr 主要用于在执行任何命令期间保持错误的重新编码。

在 Bash 中连接多个文件

发布时间:2023/06/10 浏览次数:170 分类:操作系统

有时出于各种目的,我们需要将多个文件连接成一个文件。 在 Bash 脚本中,很容易完成这项任务。在 Bash 中连接多个文件

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便