Zynq-Linux移植学习笔记之22-Linux应用程序调用shell脚本
2017-09-22 20:07
513 查看
编写Linux下的应用程序时有时需要调用Linux的相关shell脚本,在这些脚本中通过调用Linux的相关函数实现对应的功能。比如使用ifconfig配置本地的IP地址,采用这种方式省去了自己编写应用程序去实现的麻烦。
Linux常见调用shell脚本的方式有三种,网上说明很多,最简单的是使用system调用shell文件,下午中就是采用这种做法。
void config_ip(unsigned int slot)
{
charcmdline[100];
intip1,ip2,ip3,ip4;
ip1=192;
ip2=168;
ip3=100;
ip4=200;
sprintf(cmdline,"shipaddr.sh %d %d %d %d",ip1,ip2,ip3,ip4);
system(cmdline);
}
#!/bin/sh
ifconfig eth0 $1.$2.$3.$4
echo "ip addr:$1.$2.$3.$4"
exit 12
执行完以后通过ifconfig查看,发现IP已经完成配置
如果传递的参数是字符串,可以这样
Void Test()
{
charcmdline[100];
Char s1,s2;
s1=192;
s2=168;
strcpy(cmdline,"can.sh");
strcat(cmdline,"");
strcat(cmdline,ip1);
strcat(cmdline,"");
strcat(cmdline,ip2);
system(cmdline);
}
Linux常见调用shell脚本的方式有三种,网上说明很多,最简单的是使用system调用shell文件,下午中就是采用这种做法。
1、编写应用程序
这里以配置IP地址举例,在应用程序中设置了IP地址,最后通过参数传入shell文件void config_ip(unsigned int slot)
{
charcmdline[100];
intip1,ip2,ip3,ip4;
ip1=192;
ip2=168;
ip3=100;
ip4=200;
sprintf(cmdline,"shipaddr.sh %d %d %d %d",ip1,ip2,ip3,ip4);
system(cmdline);
}
2、编写shell文件
Ipaddr.sh脚本文件如下:#!/bin/sh
ifconfig eth0 $1.$2.$3.$4
echo "ip addr:$1.$2.$3.$4"
exit 12
执行完以后通过ifconfig查看,发现IP已经完成配置
如果传递的参数是字符串,可以这样
Void Test()
{
charcmdline[100];
Char s1,s2;
s1=192;
s2=168;
strcpy(cmdline,"can.sh");
strcat(cmdline,"");
strcat(cmdline,ip1);
strcat(cmdline,"");
strcat(cmdline,ip2);
system(cmdline);
}
相关文章推荐
- Linux之ubuntu学习笔记(九):shell 脚本
- 嵌入式开发之linux基础第七天学习笔记 shell脚本编程(二)
- Linux系统命令及Shell脚本学习笔记四:Linux文件系统
- Zynq-Linux移植学习笔记之四-fsbl
- Linux系统命令及Shell脚本学习笔记五:字符处理
- linux学习笔记—shell脚本执行方式
- Zynq-Linux移植学习笔记之八-linux网络驱动
- Zynq-Linux移植学习笔记之九-petalinux
- 嵌入式开发之linux基础第六天学习笔记 shell脚本编程(一)
- python 学习笔记 8 -- Python下调用Linux的Shell命令
- Zynq-Linux移植学习笔记之五-rootfs配置
- linux学习笔记-第十二课-Shell脚本之正则表达式(一)
- Zynq-Linux移植学习笔记之六-netperf网络测试
- Zynq-Linux移植学习笔记之二-知识点
- Linux命令shell脚本编程学习笔记-18章初识sed和gawk
- shell脚本学习笔记:通过shell实现linux用户管理和监控
- Linux学习笔记:bash特性之多命令执行,shell脚本
- 学习笔记 linux 编译文件用shell脚本实现
- Linux学习笔记(四)——Linux_shell脚本基础
- Linux学习笔记---shell脚本基础