我有一個簡單的代碼是:爲什麼不BASH命令在for循環工作
#!/bin/bash
#LaTex code generator for figures.
ls *.pdf > pdfs.file
ls *.ps > ps.file
pwd=$(pwd)
for i in {1..2}
do
# var=$(awk 'NR==$i' 'pdfs.file')
echo $pwd
echo $pwd > testfile
done
爲什麼沒有在命令for循環的工作? $ pwd isnt不會回顯是創建的測試文件。
我試過這些命令沒有在終端for循環,他們工作正常。
我的bash的文件是由chmod +x bashfile.sh
做出可執行我所試圖做的是這樣的:
- 查找PDF或EPS文件和填充pdfs.file和eps.file與它們的文件名。
- 逐行掃描並抓取這些文件名並追加到$ pwd。
- 然後將$ pwd $ var附加到latex中的包含圖形命令中。
循環爲我迭代兩次,回顯屏幕和文件(但由於'>'重定向,文件中只有一行)。你運行'bash -x yourscript.sh'時看到了什麼? – 2012-07-30 16:42:34
如果文件不存在,他至少應該看到一些錯誤輸出。 – tvm 2012-07-30 16:46:40
@JonathanLeffler這是我所看到的: \' + LS K2A-FreeBC.pdf K2B-FreeBC.pdf + LS K2A-FreeBC.eps K2B-FreeBC.eps ' – drN 2012-07-30 16:48:42