Linux环境下c语言程序执行shell脚本
2013-12-27 16:08
417 查看
同一个Linux服务器上,多人在同时使用,假如开发了一个shell脚本(名字为getcode.sh),大家在任何目录下都有可能会需要使用到,那么这种情况最好考虑写一个linux c语言的可执行程序(名为getcode),由这个c程序来执行shell脚本,然后将getcode二进制c程序放到/bin/或者/sbin/目录下,以后在任何目录都可以像使用ls命令一样来使用getcode,间接的就是在使用getcode.sh脚本了,而不需要每次将getcode.sh脚本拷贝当前目录来执行。
好吧!直接上代码,c语言下调用shell脚本
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
//printf("count: %d\n", argc);
char sh_cmd[500];
//memset(sh_cmd, , sizeof(char)*500);
// use bash not source or .
sprintf(sh_cmd, "bash /home/ubuntu/zhangmin/develop/getcode/getcode.sh");
//将执行时的参数全部传给run_py.sh脚本
int i = 0;
for (i=1; i<argc; ++i)
{
sprintf(sh_cmd, "%s %s", sh_cmd, argv[i]);
}
//printf("%s", sh_cmd);
system(sh_cmd);
printf("\n");
//system("logname");
//system("whoami");
}
最后使用gcc getcode.c -o getcode命令编译生成getcode应用程序
cp -fr getcode /bin/
sudo chmod 777 -R /bin/getcode
注意:
bash /home/ubuntu/zhangmin/develop/getcode/getcode.sh
这里执行getcode.sh脚本用到了bash,getcode.sh开头处使用!#/bin/bash
如果采用source 或者 . 命令 ,运行脚本可能会提示报错等。
好吧!直接上代码,c语言下调用shell脚本
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
//printf("count: %d\n", argc);
char sh_cmd[500];
//memset(sh_cmd, , sizeof(char)*500);
// use bash not source or .
sprintf(sh_cmd, "bash /home/ubuntu/zhangmin/develop/getcode/getcode.sh");
//将执行时的参数全部传给run_py.sh脚本
int i = 0;
for (i=1; i<argc; ++i)
{
sprintf(sh_cmd, "%s %s", sh_cmd, argv[i]);
}
//printf("%s", sh_cmd);
system(sh_cmd);
printf("\n");
//system("logname");
//system("whoami");
}
最后使用gcc getcode.c -o getcode命令编译生成getcode应用程序
cp -fr getcode /bin/
sudo chmod 777 -R /bin/getcode
注意:
bash /home/ubuntu/zhangmin/develop/getcode/getcode.sh
这里执行getcode.sh脚本用到了bash,getcode.sh开头处使用!#/bin/bash
如果采用source 或者 . 命令 ,运行脚本可能会提示报错等。
相关文章推荐
- Linux环境中通过c程序执行shell脚本
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- Linux(7) 常用命令扩展 改变用户环境变量 (可以实现登陆就执行shell脚本)
- Linux程序中执行shell(程序、脚本)并获得输出结果
- Linux(Ubuntu)下设置开机启动shell脚本执行Java程序jar包
- linux下C程序插入执行shell脚本
- linux的C程序 调用 shell脚本,获取shell的执行结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)
- 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- linux环境在tomcat启动或者停止后执行shell脚本,脚本内容备份图片文件夹
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 感染Linux执行程序的Shell病毒脚本
- linux下C程序插入执行shell脚本
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- 从Linux程序中执行shell(程序、脚本)并获得输出结果(转)
- Linux下C程序插入执行shell脚本