簡體   English   中英

Bash腳本,如果C ++返回某些內容

[英]Bash script, if C++ returns something

我有一個自定義的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

作為$? 捕獲最后一個程序的返回值。

使用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

將工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM