我有一个简单的代码是:为什么不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