編寫Linux下的應(yīng)用程序時(shí)有時(shí)需要調(diào)用Linux的相關(guān)shell腳本,在這些腳本中通過(guò)調(diào)用Linux的相關(guān)函數(shù)實(shí)現(xiàn)對(duì)應(yīng)的功能。比如使用ifconfig配置本地的IP地址,采用這種方式省去了自己編寫應(yīng)用程序去實(shí)現(xiàn)的麻煩。
Linux常見(jiàn)調(diào)用shell腳本的方式有三種,網(wǎng)上說(shuō)明很多,最簡(jiǎn)單的是使用system調(diào)用shell文件,下午中就是采用這種做法。
1、編寫應(yīng)用程序
這里以配置IP地址舉例,在應(yīng)用程序中設(shè)置了IP地址,最后通過(guò)參數(shù)傳入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
執(zhí)行完以后通過(guò)ifconfig查看,發(fā)現(xiàn)IP已經(jīng)完成配置
如果傳遞的參數(shù)是字符串,可以這樣
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
+關(guān)注
關(guān)注
87文章
11351瀏覽量
210499 -
Shell
+關(guān)注
關(guān)注
1文章
366瀏覽量
23474
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
啟動(dòng)Redis的三種方法
噪聲系數(shù)測(cè)量的三種方法
解決電池問(wèn)題有三種方法
linux c使用system調(diào)用shell腳本
Linux中shell腳本執(zhí)的4種方式
![<b class='flag-5'>Linux</b>中<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>執(zhí)的4<b class='flag-5'>種</b>方式](https://file.elecfans.com/web1/M00/BC/E5/o4YBAF7Ie0uAV-14AAApnLOBhTg151.jpg)
Linux Shell腳本經(jīng)典案例分享
![<b class='flag-5'>Linux</b> <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享](https://file1.elecfans.com/web2/M00/89/DD/wKgZomSL-7eAcRBVAAA0YQQcU5I277.png)
評(píng)論