在c语言的代码中,我们可以使用system函数调用shell命令或脚本
SYSTEM(3) Linux Programmer's Manual SYSTEM(3)
NAME
system - execute a shell command
SYNOPSIS
#include <stdlib.h>
int system(const char *command);
例如在c程序中写入以下语句,那么在运行到这一句时就会执行ls命令
system("ls");
在shell脚本中调用shell变量当然可以用$来表示变量,但是我们也会遇到需要往shell命令中传入c语言的参数的情况。
可以看到,system函数的参数其实就是一个字符串,所以我们完全可以在传参的时候先对参数进行处理。
例如写一个小demo实现显示指定路径下的文件,现已实现由c代码来搜索并指定好路径(将路径存储到变量path中),如果想要将变量path作为shell命令ls的参数来使用,那么其实可以用字符串连接函数实现这种效果:
char command[] = "ls ";
strcat(command, path);
system(command);