![](/img/trans.png)
[英]Linux C++ program launching a bash script via system call always returns -1
[英]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.