ubuntu - Makefile 不会将我的输出“堆叠”在 .txt 文件中
问题描述
因此,我正在尝试创建一个 makefile,它为我的每个参数(即 6 个)运行我的程序 5 次,并且对于这 6 个参数中的每一个,makefile 都会创建一个新的 .txt(我的输出)。但由于某种原因,我的所有输出都只显示一个结果。
for t in 2 4 8 16 32 64 ; do \
#n=1 ; while [ $${n} -le 5 ] ; do \
for n in 'seq 1 5' ; do \
OMP_NUM_THREADS=$$t ./cowichan_openmp norm >> normOut$$t.txt ; \
done ; \
done ;
解决方案
将评论要点转化为答案。
从表面上看,for n in 'seq 1 5' ; do
单引号意味着循环执行一次并且n
具有值“ seq 1 5
”。您需要反引号`…`
或$$(…)
(双美元绕过make
扩展宏;shell 看到$(…)
)。甚至只是:
for n in 1 2 3 4 5; do \
错字在哪里 - 在问题或您从中复制的生成文件中?
如果添加一行:
echo $$t $$n; \
在 OpenMP 行之前(或之后)(从问题复制的配方),你会明白我的意思。
推荐阅读
- python - Python:将科学数转换为毫秒
- sql - 如何汇总表头明细表中的总计
- powershell - Powershell仅删除csv标题中的空格
- android - Android 应用未显示 Firebase A/B 测试实时数据
- python - 使用 os.system 时有没有办法捕获 RuntimeErrors?
- java - Java - 返回由两个不同表组成的对象的 Spring Boot 查询
- ruby - ruby中reduce/inject方法的深入解释
- typescript - 带有电子的打字稿进入 vue.js 上下文
- flyway - 使用flyway在多个数据库中创建表
- postgresql - pq:抱歉,已经有太多客户了