我有一个shell脚本来生成两种类型的报告。每个报告都是通过执行Sweave脚本,然后从生成的tex文件中编译PDF生成的。从shell命令定时退出
eval "R CMD Sweave Weekly.Rnw"
eval "pdflatex Weekly.tex"
eval "R CMD Sweave Daily.Rnw"
eval "pdflatex Daily.tex"
举例来说,如果有执行时“R CMD Sweave Weekly.Rnw”错误,则退出,但仍然产生一个特文件(我已经检查不能停止),并且这TEX文件将不编译在pdflatex中正确,即'pdflatex Weekly.tex'命令会挂起,shell脚本不会移动到下一个'R CMD Sweave Daily.Rnw'。
现在,我的问题: 如果我知道某个shell命令不应该花费更多的30秒,是否有一种方法可以在几分钟之后(或者某些情况下)导致从该命令(假定挂起)任意时间流逝)?或者,在编译tex文件时遇到错误,是否有强制关闭乳胶引擎的方法?
感谢。
你为什么使用'eval'?正如bash faq说的那样*“eval是邪恶的拼写错误,如果答案是eval,那么你问的是错误的问题”* – SiegeX 2012-01-02 07:14:51
有些情况下'eval'是合适的;很明显这是其中之一。 – 2012-01-02 07:26:32
[命令行命令在一段时间后自动杀死命令]的可能的重复(http://stackoverflow.com/questions/601543/command-line-command-to-auto-kill-a-command-在一定的时间内) – 2012-01-02 07:29:50