makefile - 在 for 循环中使用 seq 时我的 Makefile 出错
问题描述
我有以下 Makefile:
MYVAR = 10
target:
for i in $(seq 0 $MYVAR)
do
echo "test" . $i
done
基本上我想要得到的是......
test 1
test 2
...
test n
当我尝试运行它时,我得到:
for i in 语法错误:文件意外结束
什么是正确的魔法?
解决方案
正确的语法是:
MYVAR = 10
target:
for i in $$(seq 0 $(MYVAR)); \
do \
echo "test" . $$i; \
done
运行如下:
$ make
for i in $(seq 0 10); \
do \
echo "test" . $i; \
done
test . 0
test . 1
test . 2
test . 3
test . 4
test . 5
test . 6
test . 7
test . 8
test . 9
test . 10
(我不确定命令.
中的意思是什么echo
,如果不是错字的话)。
请注意,在配方中的 shell 命令中$...
,您打算通过 shell 扩展的任何内容都必须转义,$$...
以便它不会make
自行扩展。
推荐阅读
- postgresql - 从 mac 中删除 postgresql 服务器
- python - 在python中只用正则表达式拆分第一组字符串
- python - 使用 statsmodel 执行线性回归时出错
- vue.js - 输入文件组件没有更新,VueJS
- python - 根据分组和条件更新数据框列
- java - 如何使用 Java 获取活动的 DFS 服务器
- react-native - React Native 的 Algolia:refine() 方法
- flutter - Flutter:在 Swiper 中完成特定逻辑后如何显示下一个索引,其中 GridView 也在 Swiper 中设置?
- svn - 如何使用 TortoiseSVN 正确创建 SVN-Tag?
- javascript - 我们如何创建外部 UDF 来执行 N1QL?