C 言語でシェルスクリプトを呼び出す方法
C言語ではsystem()関数でシェルスクリプトを呼び出せます。
system()関数のプロトタイプは次のとおりです。
int system(const char *command);
system()関数は、実行するシェルコマンドまたはスクリプトを表す文字列パラメータcommandを受け取ります。system()関数は、そのコマンドをオペレーティングシステムのシェルに渡します。その後、シェルはコマンドを実行します。
以下に、C 言語でシェルスクリプトを呼び出す方法を示す簡単な例を示します。
#include <stdio.h>
#include <stdlib.h>
int main() {
int status;
// 调用shell脚本
status = system("./myscript.sh");
// 检查返回状态
if (status == -1) {
printf("调用shell脚本失败.\n");
} else {
printf("调用shell脚本成功,返回状态为:%d.\n", status);
}
return 0;
}
上記のコードでは、`./myscript.sh` は、実行するシェルスクリプトのパスです。`system(“./myscript.sh”)` を呼び出すことで、そのスクリプトを実行します。スクリプトの実行後は、`status` 変数からスクリプトの終了ステータスを取得できます。
なお、system()関数はOSのシェルを呼び出しますので、スクリプトを実行する場合、そのスクリプトファイルに実行権限があることを確認する必要があります。スクリプトがカレントディレクトリ以外の場所にある場合は、スクリプトの絶対パスまたは相対パスを指定する必要があります。
システム関数でシェルコマンドを実行でき、シェルスクリプトを実行できるだけでなく、他のシェルコマンドを実行することができる。