从C调用shell脚本

时间:2011-07-18 19:00:44

标签: c shell

我想问一下,如何使用C中的参数调用shell脚本。 我发现了这个,但似乎没有用。

#include <stdio.h>
#include <stdlib.h>

char script = "script.sh";

system(script);

提前致谢!

3 个答案:

答案 0 :(得分:2)

const char * script = "script.sh";

而不是

char script = "script.sh";

注意«*»符号......

system函数需要char *,而不是单个字符(字符串,而不是字符)。

答案 1 :(得分:1)

基本错误:这里你给了char一个字符串。那就是“char script”只能容纳1个字符。为此,您需要char * script =“script.sh”;

Shell脚本错误:确保它是“const char *”,同时提供脚本文件“script.sh”的完整路径或您要运行的任何命令。

在包含库之后,你还必须在顶部添加#!/ bin / bash。

答案 2 :(得分:0)

如果您将有效路径传递给可执行文件,那是正确的。

http://linux.die.net/man/3/system

你应该检查返回值,并检查errno是否有错误。