【问题标题】:Test apache configure测试apache配置
【发布时间】:2013-10-19 16:22:13
【问题描述】:

我正在编写一个自动安装 apache 的脚本。
在问之前,这是公司的要求,否则我会用更简单的方法来安装 apache。

现在,在 apache configure/make/make install 之后,我需要测试是否成功完成。
我检查了配置选项,但没有成功完成的标志。
我想知道除了测试命令输出是否成功或不成功之外,是否还有其他方法?

现在,我将输出保存在一个文件中,然后寻找预期的行。例如,为配置“创建测试/Makefile”。

谢谢

【问题讨论】:

    标签: apache bash output configure


    【解决方案1】:

    通常,在基于 *nix 的系统上,命令返回 0 值表示成功,而非零值 如果命令不成功。在shell中,最后一条命令的退出状态 存储在“$?”中多变的。

    因此,假设您运行 make install 并检查退出状态,如下所示:

    # make install 
    # echo $?
    

    如果命令成功,则 echo 语句将打印出一个 0,否则 你会得到一些其他的数值。或者,如果 $?用“如果”。

    if [ $? -eq 0 ]; then { 
        echo "OK" 
    };else { 
        echo "Not Ok"
    };fi
    

    您还可以通过其他方式使用退出状态。以下命令行 将执行每个命令,仅当前面的命令成功时才按顺序执行

    ./configure && make && make install && echo "All good!"
    

    将每个 COMMAND 视为返回 VALUE(其退出状态)的 FUNCTION

    && 是 bash(您可能正在使用的 shell。)和 || 的 AND 运算符。是 OR 运算符。

    您可以扩展上述命令行来处理“make install”步骤失败的情况,例如:

    ./configure && make && make install && echo "All good!" || echo "Something's awry"
    

    当然,这只是一个例子,但我认为您可以利用可以测试命令的退出状态的事实来解决您的问题。

    此链接应该对您有所帮助:http://tldp.org/LDP/abs/html/exit-status.html

    【讨论】:

    • 脚本已经正常工作了 6 个月。昨晚我团队的一名成员在新服务器上对其进行了测试,但失败了。但我认为这是注定要失败的案例之一。无论如何,非常感谢你,这给了我一些改进的空间:)
    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 2012-05-29
    • 2019-05-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多