如何将命令行参数从C程序传递到bash脚本? [英] How to pass command line arguments from C program to the bash script?

查看:91
本文介绍了如何将命令行参数从C程序传递到bash脚本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have written one bash script and now I am calling this script from C program. Now I want to pass arguments i.e. argv[1] and argv[2] to the script from command line.

推荐答案

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

It depends on the way the script is called. For example, if you are using system you can preformat string that used to invoke bash script from system call adding command line arguments:

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

Bash

#!/bin/bash

echo $1

结果

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

这篇关于如何将命令行参数从C程序传递到bash脚本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆