从Linux bash脚本编译Latex

我正在使用以下脚本在Linux中的命令行上将Latex文档编译为pdf:

#! /bin/bash
NAME=`echo "$1" | cut -d'.' -f1`
pdflatex -file-line-error -halt-on-error $NAME.tex
xdg-open $NAME.pdf

它可以工作,但即使pdflatex在编译时出现错误,xdg-open line也会运行并显示以前创建的任何pdf文件。

我如何为最后一行代码添加条件语句,即只有在pdflatex的前一行编译成功时xdg-open才能运行? 否则,它应该给出错误信息,而不是尝试显示任何pdf文件。 pdflatex是否会返回任何可以在bash脚本中检查的错误代码? 谢谢你的帮助。


#! /bin/bash
NAME=`echo "$1" | cut -d'.' -f1`
pdflatex -file-line-error -halt-on-error $NAME.tex && xdg-open $NAME.pdf

应该做的伎俩。

编辑以解决评论中的问题:

当然,这可以和其他命令一起包装在一个子shell中:

pdflatex -file-line-error -halt-on-error $NAME.tex && ( xdg-open $NAME.pdf; command2; command 3 )

或者通过评估if语句中的返回码:

if [[ $? -eq 0 ]]; then
  xdg-open $NAME.pdf
  command2
  command3
fi
链接地址: http://www.djcxy.com/p/33381.html

上一篇: Compiling Latex from Linux bash script

下一篇: LyX system reconfiguration failure