c - 在 shell 脚本中将带引号的参数传递给 C 程序

标签 c shell parameters

我有一个 C 程序“main”,它获取以下参数:

“a b c d ...”e f g

由于引用的原因,总共有 4 个参数。我有一个文本文件,每行都有这 4 个参数。我制作了一个 shell 脚本来为每个参数运行 C 程序:

#!/bin/bash
while read line
do
    ./main "$line"
done < $1

问题在于 C 程序将第一个参数(被引用)识别为多个单独的参数,就好像引用被忽略一样。在我尝试过的许多事情中,值得一提的是,我尝试将文件中的每个引用更改为\",甚至从调用中删除引用 (./main $line)。

最佳答案

#!/bin/bash
while read line
do
    eval set -- $line
    ./main "$@"
done < $1

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

相关文章:

c - 警告 : case not evaluated in enumerated type?

c - 如何将数组分解为固定大小的小数组? (在C中)

linux - Shell 在超时后终止挂起的脚本,但如果脚本没有挂起则取消超时

linux - 用于计算两个不同子集中的列之间的平均值的 Shell 脚本

python - 需要帮助从 python 项目中的 pygtk GUI 实时捕获 STDOUT

templates - 我怎样才能得到dag中的execution_date?运算符的外部?

c - 为什么在 short/int/long 中多了一个整数类型?

c++ - 如何找到当前硬件线程的L3缓存索引和NUMA节点索引

VBA、ADO.Connection 和 PostgreSQL 如何将查询参数传递给 pg_typeof()

testing - EvoSuite - 获得最多代码覆盖率的参数