我使用Make从MySQL数据库中获取一些数据,填充报告并使用cron通过电子邮件发送。我在处理groff文件时遇到了权限问题。
制作:
get: $(DATA)
$(DATA):
bash $(GET) $(SQL) > $@
format: $(CONTENT)
$(CONTENT): $(DATA)
bash $(FORMAT) $(DATA) > $@
$(TROFF): $(CONTENT)
cat $(TEMPLATE) $< > $@
chmod a+rw $@
$(PS): $(TROFF)
$(SED) -i '$$ a .TE' $<
$(TROFF) -ms -t -Tps $< > $@
chmod a+rw $@
report: $(REPORT)
$(REPORT): $(PS)
$(PS2PDF) $< >$@
chmod a+rw $@
正如您所看到的,我已经在makefile中尝试了权限。这是我在运行make时遇到的错误:
/home/automation/scripts/nancy_list/reports/2015-08-11.roff -ms -t -Tps /home/automation/scripts/nancy_list/reports/2015-08-11.roff > /home/auto /bin/sh: 1: /home/automation/scripts/nancy_list/reports/2015-08-11.roff: Permission denied make: *** [/home/automation/scripts/nancy_list/reports/2015-08-11.ps] Error 126
因此它成功生成了roff但无法处理它 - 后记作为空文件出现。我之前用Make做过类似的项目 - 关于权限是否有新的东西?
答案 0 :(得分:0)
错误地将TROFF设置为/ usr / bin / troff,而不是设置为生成的troff文件。
您正在尝试执行生成的文件。