2011-07-18 152 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。