android C 中调用SHELL脚本

  最近在调试4.2的代码发现需要在lunx中所以需要自己想办法修改,

于是想到了 在C中调用脚本

脚本: check_voice_value.sh


#!/system/bin/sh

READ_FILE=$(cat /system/etc/3Gvol)
var=`echo $READ_FILE | awk -F',' '{print $0}' | sed "s/,/ /g"`
/system/bin/log -t 3Gvoice_down "---cat /system/etc/3Gvol is $var---"
tinymix 5 $var
/system/bin/log -t 3Gvoice_down "tinymix $var execute success !"

该脚本用于抓取一个文件中的数字字符,

并抓取该数值并执行。


然后需要在.c中调用它,我使用的是popen

static void do_shell(void)
{


char buffer[80];
FILE *fp;
LOGFUNC("-----%s-----------\n",__func__);
if(0 != access(VOL_PATH,R_OK))
{
LOGFUNC("%s, %s \n",__func__,strerror(errno));
return ;
}
fp = popen(VOL_PATH,"r");
if(fp == NULL)
{
LOGFUNC("%s, failed tp get line \n",__func__);
}
fgets(buffer,sizeof(buffer),fp);

pclose(fp);

}

在调用的时候需要修改

check_voice_value.sh的权限

修改为755或者777都行



你可能感兴趣的:(开发)