c - 将参数从shell脚本传递到c程序

标签 c bash shell

gcc (GCC) 4.7.2
GNU bash, version 4.2.37

你好,

我有以下 bash 脚本,我想将字符串参数传递给我的 C 程序。我尝试使用管道但失败了。

c 程序需要从 shell 脚本获取输入。我不确定是否从 shell 脚本中读取输入。

我的 bash 脚本如下。

#!/usr/bash

# About on any errors
set -e

RUN_WITH_VALGRIND=""

if [ "$1" == "valgrind" ]; then
    RUN_WITH_VALGRIND="valgrind"
    echo "START TESTING WITH VALGRIND"
fi

$RUN_WITH_VALGRIND ./c_program

echo "Hello" | ./c_program

我的示例 C 程序在这里:

char str_input[16];
printf("Get input: ");
scanf("%s", str_input);
printf("Input [ %s ]\n", str_input);

我正在尝试让 scanf 从 shell 脚本读取输入。

非常感谢您的建议,

最佳答案

回显“你好”| $RUN_WITH_VALGRIND ./c_program,就这么简单。

但是在您的脚本中,当您在 run_with_valgrind 调用之后重新调用它时,c_program 将运行两次(我不知道它是否有意)

关于c - 将参数从shell脚本传递到c程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12874968/

相关文章:

linux - Ant 中的 Exec 命令只执行第一个命令

linux - CGI 脚本未通过 .sh 脚本执行或调用

php - 如何将 php 与 bash 脚本连接或将变量从 php 传递到 bash 脚本

c - 将 C 编译从 MinGW 移植到 VisualStudio(nmake)

c - 基于TCP的打洞

C 将共享变量传递给 pthread

c - 发送结构地址时出现段错误

庆典。 : './' 的用法

linux - 从文件列表创建 .new 文件

bash - 将 perl while 循环更改为 shell