首页 > 代码库 > [shell]system和execlp简单示例
[shell]system和execlp简单示例
shell脚本:hello.sh
#!/bin/bash echo "i am in shell script" echo "param 1 is $1" echo "param 2 is $2" variable=$[ $1 + $2 ] echo "sum is $variable"
system接口:system.c
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> void main(void) { printf("i am in c code!\r\n" system("/bin/bash ./hello.sh 10 20); }
输出:
i am in c code! i am in shell script! param 1 is 10 param 2 is 20 sum is 30
execlp接口:execlp.c
#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> void main(void) { int ret = 0; int param1 = 10; int param2 = 20; printf("i am in c code!\r\n"); if(fork() == 0) { printf("execlp...........\r\n"); ret = execlp("/bin/bash", "bash", "hello.sh", ¶m1, ¶m2, NULL); if(ret < 0) { printf("execlp failed!\r\n"); return; } } }
这其中execlp的参数不管怎么填都得不到正确运行的结果
[shell]system和execlp简单示例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。