Bash 脚本,如果C++返回一些东西

Bash script, if C++ returns something

本文关键字:返回 C++ 脚本 如果 Bash      更新时间:2023-10-16

我有一个自定义的C++应用程序,如果一切正常,则返回0,如果出现问题,则返回printf(...)。

我还有一个 bash 脚本(作为 cronjob 运行),需要检查C++应用程序的执行。

我怎样才能在抨击中:

if ./run_app; then
else
fi

检查它是否返回 0 或其他文本?

if ./run_app = 0; then

不行。

更新:

当一切顺利时,我在C++中的实际代码如下所示:

int main(int argc, char **argv)
{
    ...
    return 0;
}

你也可以做:

./run_app
if [ $? -eq 0 ]; then

as $? 捕获最后一个程序的返回值。

使用 test(1)。

例如

result=$(my_application)
backup=$?
[ -z "$result" ] && echo "my_application printed nothing"
[ $backup -eq 0 ] && echo "my_application returned zero"

如果应用程序在成功时返回 0,在失败时返回非 0,则

if ./run_app; then
else
fi

会工作。