我有一個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