私実行可能スクリプトこれはない読み書き可能
ただし、インタプリタがファイルを読み取る必要があるため、これを直接実行することは不可能です。だから私のスクリプトでインタプリタをCプログラムに明示的にロードできるかどうか疑問に思います。
これにより、必要に応じてCプログラムの権限を設定できます。
ベストアンサー1
system()
次の関数を使用して、Cアプリケーションからシェルスクリプトを呼び出すことができます。
system() は /bin/sh -c コマンドを呼び出して command で指定されたコマンドを実行し、コマンドが完了した後に返します。コマンド実行中、SIGCHLD はブロックされ、SIGINT および SIGQUIT は無視されます。
例:
#include <stdlib.h>
int main(int argc, char *argv[]) {
char* command = "\
for i in 1 2 3 4 5;\
do echo \"$i\"; \
done";
system(command);
return 0;
}
ランニング:
$ gcc test.c -o test
$ chmod 100 test
$ ./test
1
2
3
4
5
パラメーターはコマンド文字列なので、その行はセミコロンで終わる必要があります。また、引用符をエスケープする必要があります。