我想寫一個腳本,生成一個LaTeX文件。腳本的第一部分應以樹形式顯示地圖的所有內容。第二部分應顯示每個可執行文件的內容。第一部分工作,第二部分不工作。下面是代碼:Bash腳本|如果那麼做
#!/bin/bash
echo "\documentclass{article}" > script.tex
echo "\usepackage{listings}" >> script.tex
echo "\begin{document}" >> script.tex
echo "\begin{lstlisting}" >> script.tex
tree $1 >> script.tex
echo "\end{lstlisting}" >> script.tex
for file in $1
do
if [ -x $file ]
then
echo "\begin{lstlisting}" >> script.tex
cat $file >> script.tex
echo "\end{lstlisting}" >> script.tex
fi
done
echo "\end{document}" >> script.tex
請考慮編輯你的問題,包括*爲什麼*你認爲後半部分不工作。因爲我們沒有你的輸入文件,所以我們只能猜測。我可以評論''[-x $ file]'是問'$文件是否設置了可執行位?'這是你真正想要的嗎?你不會在'cat $ file'中執行。如果你只是想確保輸入是一個文件,請嘗試使用'[-f $ file]'。祝你好運。 – shellter
你不應該在$ 1/*'中使用'for file來代替$ 1'中的文件嗎? – anishsane