我正在尝试编写一个shellcript,它使用LaTeX,ls和其他一些命令来导出给定目录中的文件和目录列表,以及给定目录中所有bash脚本的完整打印输出。 到目前为止,这是我的脚本:
#!/bin/bash
# Script to export directory with pdflatex
# Generate .tex file
# Directory Listing
echo "\documentclass[11pt,a4paper,oneside]{article}" > tmp.tex
echo "\usepackage{fullpage}" >> tmp.tex
echo "\begin{document}" >> tmp.tex
echo "\section{Listing}" >> tmp.tex
ls $1 >> tmp.tex
echo "\end{document}" >> tmp.tex
# ShellScript printout
# Generate .pdf file
pdflatex tmp.tex
#Cleanup
rm tmp.tex
然而,问题是“ls”命令在终端中运行正常,但是当输入到LaTeX时,它将被打印为空格分隔行而不是列表。我该如何解决这个问题?
关于shellcript打印输出;如果您对如何打印这些有任何想法..
非常感谢, 杰拉德
答案 0 :(得分:3)
echo '\begin{verbatim}' >> tmp.tex
ls "$1" >> tmp.tex
echo '\end{verbatim}' >> tmp.tex
除非在列出的目录中有一个名为“\end{verbatim}
”的文件,否则应该做你想要的(是的,这是可能的)。如果您需要担心这一点,则需要两个文件和fancyvrb附加软件包中的\VerbatimInput
命令。