[英]how to return the return value of a script to a c program using system()
我有一個bash腳本(一個非常基本的腳本),可以從ac程序中使用system()
調用。
此腳本調用另一個名為./dslite.sh
腳本,該腳本將固件刷新到設備。
如何將./dslite.sh
返回的值返回給C程序?
C程序:
system("flash_firmware.sh");
腳本
#!/bin/bash
./dslite.sh --mode flash --config=~/configs/device1_config/c1dut2.ccxml ~/images/$1
system()
的原型是:
int system(const char *command);
它確實返回一個int
。
以下摘錄來自system()
的手冊頁:
如果所有系統調用均成功,則返回值是用於執行命令的子外殼的終止狀態。 (shell的終止狀態是它執行的最后一個命令的終止狀態。)
因此,只要在創建外殼或外殼的相應子進程時沒有錯誤, system()
返回腳本執行的最后一個命令的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.