[英]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.