红联Linux门户
Linux帮助

shell编程是否能与C等高级语言接口

发布时间:2011-08-17 21:21:45来源:红联作者:辛昕
我是在LINUX写程序的,所以,其实对于LINUX本身的使用并不是很熟。

懂一点点SHELL编程,主要是用C写程序。
有时候经常要写一些脚本去做一些操作,但是,不知道如何把shell编程和c语言代码结合起来。

比如说:是否能用C程序启动某个shell脚本的执行?

谢谢!
文章评论

共有 7 条评论

  1. qxwyp 于 2011-11-29 21:03:10发表:

    谢谢

  2. 小举 于 2011-10-10 15:33:03发表:

    学习了

  3. 辛昕 于 2011-08-19 00:28:48发表:

    谢谢了。
    特别是板凳的军长,你说的我的确不知道。

    也谢谢沙发的司令,你说的前者跟军长说的一回事。
    至于你说的用shell调用C,这个,我估计你说的是,把C的主函数写成带参的吧。
    这个我使用过,devmem2,当时用来内存映射。

  4. 辛昕 于 2011-08-19 00:26:58发表:

    谢谢了。
    特别是板凳的军长,你说的我的确不知道。

    也谢谢沙发的司令,你说的前者跟军长说的一回事。
    至于你说的用shell调用C,这个,我估计你说的是,把C的主函数写成带参的吧。
    这个我使用过,devmem2,当时用来内存映射。

  5. yanyongkg 于 2011-08-18 19:32:13发表:

    [code]#include
    int main(void)
    {
    system("pwd");
    return 0;
    }[/code][code]#include
    int main(void)
    {
    FILE *a;
    char bf[30];
    a=popen("pwd","r");
    fgets(bf,sizeof(bf),a);
    printf("%s",bf);
    pclose(a);
    return 0;
    }[/code][code]#include
    int main(void)
    {
    execlp("echo","echo","hello",(char *)0);
    return 0;
    }[/code][code][root@localhost c]# ./system
    /root/c
    [root@localhost c]# ./popen
    /root/c
    [root@localhost c]# ./exec
    hello[/code]三种方法:
    system()
    popen()
    exec系列函数,详请见man 3 exec

  6. badgc 于 2011-08-18 08:41:12发表:

    同上

  7. pl_014 于 2011-08-17 22:12:01发表:

    可以使用system函数执行一个unix的命令来执行shell.而你也可以把C程序做成像普通命令那样带参数的,用shell调用.这是我能想到的最初级的办法