在C語言中,可以使用system()
函數來調用shell腳本。
system()
函數的原型如下:
int system(const char *command);
system()
函數接受一個字符串參數command
,該參數是要執行的shell命令或腳本。system()
函數會將該命令傳遞給操作系統的shell,然后由shell來執行該命令。
下面是一個簡單的例子,展示了如何在C語言中調用一個shell腳本:
#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
是要執行的shell腳本的路徑。通過調用system("./myscript.sh")
來執行該腳本。執行完腳本后,可以通過status
變量獲取腳本的返回狀態。
需要注意的是,system()
函數調用了操作系統的shell,所以在調用腳本時需要確保腳本文件具有可執行權限。如果腳本不在當前目錄下,還需要提供腳本的絕對路徑或者相對路徑。
另外,system()
函數還可以執行其他的shell命令,不僅限于調用shell腳本。