在 OS X 中创建包含多个命令的脚本来编译文件

在 OS X 中创建包含多个命令的脚本来编译文件

假设我想使用feynmf包编译一个包含一些费曼图的文件。为此,我需要运行以下命令:

latex file_name.tex
mpost diagram_1.mp
mpost diagram_2.mp
...
mpost diagram_N.mp
latex file_name.tex
dvipdfm file_name.dvi

我想创建一个脚本来运行所有这些命令,这样我就不必手动执行了。有什么解决方案吗?

答案1

从 Sigur 的链接来看,它真的很简单,只是一个包含以下内容的文件:

#!/bin/bash
# This is somefile.sh
latex file_name.tex
mpost diagram_1.mp
mpost diagram_2.mp
# Any other commands can go here
mpost diagram_N.mp
latex file_name.tex
dvipdfm file_name.dvi

并运行一次:

me@mac:~$ chmod 755 somefile.sh

并根据需要经常这样做:

me@mac:~$ ./somefile.sh

如果我想要更花哨一点,我可以这样做:

#!/bin/bash
# This is somefile.sh
TEXFILE=file_name
MPFILES=`ls *.mp`
latex ${TEXFILE}
for MP in ${MPFILES}; do
  mpost ${MP}
done
latex ${TEXFILE}
dvipdfm ${TEXFILE}

相关内容