【问题标题】:Exit codes to configure/make/make install退出代码来配置/制作/制作安装
【发布时间】:2014-11-04 06:38:35
【问题描述】:

在我公司,我们必须手动配置和安装 apache。所以我正在编写一个脚本来自动安装它。
我的问题是我找不到配置/制作/制作安装的退出代码
我找到了一种解决方法来检查输出,但它几乎没有工作。

有什么方法可以检查命令是否成功完成?
我尝试使用 exit(0),但命令总是完成。我需要知道他们是否以错误结束。

感谢您的帮助

【问题讨论】:

  • 你能检查$?的值吗?
  • 你试过set -e吗?或者,如果您只希望它用于某些命令:command || exit $?.

标签: linux apache bash shell scripting


【解决方案1】:

您可以通过检查 $? 来查看上一个命令是否失败。因此,如果您正在编写 configure/make/make 安装脚本,您将执行以下操作(我将使用 configure 作为示例):

./configure --install-prefix=/usr/local/
rc=$?
if [ $rc != 0 ]; then
  # Output any messages or take any actions because the last 
  # command failed, then exit with same code.

  exit $rc
fi

【讨论】:

  • Erik,当你说命令失败时,是指命令没有成功完成但它完成了,或者由于某种原因,命令在执行过程中失败了?
  • 很抱歉,我花了一段时间才回复您。我应该说你可以检查上一个命令的退出代码,看看它是否失败。标准是成功返回 0,失败返回非零。因此,在退出之前,您可以采取任何行动或编写您选择的任何消息。我发现继续使用相同的错误代码(“exit $rc”)退出是一个很好的做法。
猜你喜欢
  • 1970-01-01
  • 2020-10-10
  • 1970-01-01
  • 2013-02-12
  • 1970-01-01
  • 2018-07-13
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多