如何将命令行参数从C程序传递给bash脚本?

时间:2014-12-01 07:54:58

标签: shell command-line c

我写了一个bash脚本,现在我从C程序调用这个脚本。现在我想从命令行将参数argv[1]argv[2]传递给脚本。

1 个答案:

答案 0 :(得分:3)

这取决于脚本的调用方式。例如,如果您使用system,则可以预先格式化用于从系统调用添加命令行参数调用bash脚本的字符串:

C

#include "stdio.h"

void main(int argc, char const *argv[])
{
    if (argc == 2) {
        char command[100] = {0};

        sprintf(command, "./example.sh %s", argv[1]);
        system(command);
    }
}

#!/bin/bash

echo $1

结果

$ gcc example.c -o example && ./example Hello!
Hello!