0

我正在使用 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:权限被拒绝
制作:*** [/home/automation/scripts/nancy_list/reports/2015-08-11.ps] 错误 126

所以它成功地生成了 roff 但不能处理它——后记作为一个空文件出现。我以前用 Make 做过类似的项目——在权限方面有什么新东西吗?

4

1 回答 1

0

TROFF 设​​置错误,不是 /usr/bin/troff 而是您生成的 troff 文件。

您正在尝试执行生成的文件。

于 2015-08-12T07:22:44.807 回答