当前位置: 首页 > 面试题库 >

在Bash脚本中引发错误

谭京
2023-03-14
问题内容

我想在Bash脚本中引发错误,显示消息“测试用例失败!!”。如何在Bash中做到这一点?

例如:

if [ condition ]; then
    raise error "Test cases failed !!!"
fi

问题答案:

这取决于您要将错误消息存储在何处。

您可以执行以下操作:

echo "Error!" > logfile.log
exit 125

或以下内容:

echo "Error!" 1>&2
exit 64

引发异常时,将停止程序的执行。

您还可以使用类似“ exitxxx哪里xxx是您可能要返回到操作系统的错误代码”(从0到255)的方法。在这里12564只是可以退出的随机代码。当您需要向OS指示程序异常停止(例如发生错误)时,您需要将_非零退出代码_ 传递给exit

正如@chepner 指出的,您可以这样做exit 1,这意味着 未指定的错误



 类似资料:
  • 问题内容: 我想在Bash脚本中引发错误,显示消息“测试用例失败!!”。如何在Bash中做到这一点? 例如: 问题答案: 这取决于您要将错误消息存储在何处。 您可以执行以下操作: 或以下内容: 引发异常时,将停止程序的执行。 您还可以使用类似“ 哪里是您可能要返回到操作系统的错误代码”(从0到255)的方法。在这里,只是可以退出的随机代码。当您需要向OS指示程序异常停止(例如发生错误)时,您需要将

  • 问题内容: 我正在用geb进行功能测试。 我的应用程序是使用virgo部署的,并使用HSQLDB来存储数据。我想在此工作版本的应用程序上执行测试,但是每次运行webtests时,我都想从空数据库开始。 我写了一个简单的bash脚本 这将删除数据库并重新启动处女座。 但是,当我将其添加到build.gradle任务执行命令时,它永远不会结束。 为什么这样呢?当我在控制台中运行此脚本时,它会迅速返回(

  • 问题内容: 问题:我收到此错误消息: 导出:错误的解释器:无此类文件或目录 当我执行此bash脚本时: 但是bash路径似乎是正确的: 我究竟做错了什么?还是这是Lucid Lynx的错误? 我做了 问题答案: 第一行告诉Linux在哪里可以找到解释器。该脚本还应该可以通过执行,就像您执行的一样。 您很有可能使用Windows编辑器创建了此文件,该编辑器将在每行的末尾放置一个。这是dos / wi

  • 问题内容: 我想运行一个sh文件: 但是,出现以下错误: 如果我直接在命令行上尝试,它会完美运行。 路径和权限已被检查 知道会发生什么吗? 问题答案: 这不是“ sh文件”,而是 bash 脚本。如果使用来运行它,它将不起作用(因为extixlobs,即您要使用的shell功能,在POSIX sh中不受支持);它需要仅与运行,或用与启动时(因为它)。因此,将其描述为“ sh文件”会产生误导。而且,

  • 问题内容: 我创建了一个非常简单的bash脚本,该脚本运行一些命令。这些命令之一在运行时需要用户输入。即它询问用户“您想等等吗?”,我只想向其发送回车按键,以便脚本将完全自动化。 我将不必在运行时等待输入或其他任何东西,它足以发送按键,输入缓冲区将处理其余部分。 问题答案: 或利用echo生成的隐式换行符(感谢Marcin) 现在我们可以简单地使用以下选项: ,请勿在每次测试后等待按键 即

  • 问题内容: Linux bash脚本: 执行结果: 扩展到文件列表,它实际上是脚本本身。如何防止这种情况并查看实际变量值?在一般情况下,可能会比复杂,例如:。 问题答案: 您还需要转义变量: 并在您的职能: