我有一个 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/