【发布时间】:2015-03-26 19:27:35
【问题描述】:
z=0
for i in "${ofield[@]}"; do
temp=$(grep '#include "' ${cppfield[z]} | sed s/#include// | sed s/\"//g)
echo "${ofield[$i]} : ${cppfield[$i]} ${temp[@]}" >> Makefile
echo " g++ -ansi -Wall -g -c ${cppfield[i]}" >> Makefile
((z++))
done
我正在尝试遍历 .cpp 文件数组和 .o 文件数组以打印 .o 数组的每个组件,然后是 .cpp 数组,然后是 .cpp 数组的 grepping 头文件. 我不断收到错误“无效的算术运算符(错误标记为“.0”)
【问题讨论】:
-
temp=$(....)不创建数组。它创建一个字符串。 -
将
set -x添加到脚本的顶部,您将在执行命令时看到它们。 -
同意 Etan:您似乎尝试创建 .cpp 文件的依赖项列表(包含的头文件)。请按照 Etan 的建议尝试自动依赖,或将您的真正问题/应用程序发布为解决了,而不是要求更正您的解决方案。你可能走错了方向。
标签: arrays bash shell sed grep