2011-07-18 114 views
1

我想问一下,如何用C中的参数调用shell脚本我发现这个,但它似乎不起作用。从C调用shell脚本

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

char script = "script.sh"; 

system(script); 

在此先感谢!

+1

“不工作”如何?你看到http://stackoverflow.com/questions/4187908/c-program-calling-shell-script? –

+1

究竟是“不工作”? –

+4

fyi,你正在给'char'分配一个'const char *'。 – yan

回答

2
const char * script = "script.sh"; 

代替

char script = "script.sh"; 

注意«*»签署...

system功能需要一个char *,而不是单个字符(字符串,而不是一个字符)。

+1

谢谢! 'sh:add_arp.sh:找不到'我得到了这个错误。该脚本与'c'文件位于同一个文件夹中。我想念什么? – shaggy

+1

必须添加完整的路由..完成,谢谢 – shaggy

+1

但是,任何想法如何将一些参数从C传递到shell? – shaggy

1

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

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

另外,您必须在包含库之后在顶部添加#!/ bin/bash。