如何将c语言的变量传递给shell脚本使用

在c语言的代码中,我们可以使用system函数调用shell命令或脚本

SYSTEM(3)                  Linux Programmer's Manual                 SYSTEM(3)

NAME
       system - execute a shell command

SYNOPSIS
       #include 

       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);




你可能感兴趣的:(Linux,Shell)