2011-07-18 22 views
1

Cでパラメータを指定してシェルスクリプトを呼び出す方法を教えてください。 これが見つかりましたが、動作していないようです。Cからのシェルスクリプトを呼び出す

#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、 'const char *'を 'char'に代入しています。 – yan

答えて

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

代わりの

char script = "script.sh"; 

注«*»看板...

system機能がchar *、ない単一文字(文字列、いない文字)が必要です。

+1

ありがとう! 'sh:add_arp.sh:not found' iveにこのエラーがありました。スクリプトは 'c'ファイルと同じフォルダにあります。私は何かが恋しいですか? – shaggy

+1

は完全なルートを追加しなければなりません..完了、ありがとう – shaggy

+1

しかし、Cからシェルにいくつかのargsを渡す方法はありますか? – shaggy

0

実行ファイルに有効なパスを渡しているのは正しいことです。

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

あなたはエラーの戻り値とエラー番号を確認する必要があります。

1

基本的なエラー:charに文字列を指定しました。つまり、「charスクリプト」は1文字しか保持できません。このためには、char * script = "script.sh"が必要です。

シェルスクリプトエラー: "const char *"であることを確認してください。また、スクリプトファイル "script.sh"または実行するコマンドの完全パスを指定してください。

また、ライブラリを組み込んだ後に、上に#!/ bin/bashを追加する必要があります。

関連する問題