从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