Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32438
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 122
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 16:09
文章分类
文章存档

2014年(6)

2013年(12)

我的朋友

分类: C/C++

2013-12-27 16:57:49

  同一个Linux服务器上,多人在同时使用,假如开发了一个shell脚本(名字为getcode.sh),大家在任何目录下都有可能会需要使用到,那么这种情况最好考虑写一个linux c语言的可执行程序(名为getcode),由这个c程序来执行shell脚本,然后将getcode二进制c程序放到/bin/或者/sbin/目录下,以后在任何目录都可以像使用ls命令一样来使用getcode,间接的就是在使用getcode.sh脚本了,而不需要每次将getcode.sh脚本拷贝当前目录来执行。
好吧!直接上代码,c语言下调用shell脚本
[cpp] view plaincopy
#include  
#include  
#include  
  
  
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     {  
        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 或者 . 命令 ,运行脚本可能会提示报错等。
阅读(1017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~