我有一个简单的代码:
#!/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没有回显,也不是创建的测试文件。
我尝试了这些命令而没有终端中的for循环,它们工作正常。
我的bash文件可由chmod +x bashfile.sh
我想做的是:
答案 0 :(得分:0)
我不确定你做错了什么,但这对我来说很好用:
for i in {1..2}; do
echo $PWD
echo $PWD > /tmp/testfile
done
echo "File contents: $(cat /tmp/testfile)"
这成功返回以下内容:
的/ tmp
/ tmp目录
文件内容:/ tmp
答案 1 :(得分:0)
您是否使用Windows编辑器编写了bash文件?也许你遇到线路终结器的问题。试试dos2unix bashfile.sh
。