我有js script将kml位置历史文件转换为csv。我写了一个bash脚本来遍历目录中的所有文件。当我从命令行./index.js filename.kml > filename.csv
但是当我执行应该遍历所有文件的bash文件时没有任何反应。
我知道这可能是一个简单的错误,但我无法发现它。
#!/bin/bash
# file: foo.sh
for f in *.kml; do
test -e "${f%.kml}" && continue
./index.js "$f" > "-fcsv"
done
答案 0 :(得分:1)
只需删除"&&继续",如果我没有错,你用"继续"跳过当前的迭代。关键字,这就是为什么没有发生的原因
修改
另外,你不应该测试文件是否存在,for循环足以确保" f"将是一个有效的.kml文件。无论如何,如果你仍然想要这样做,你必须这样做:
#!/bin/bash
# file: foo.sh
for f in *.kml; do
if [ -e "$f" ]; then
./index.js "$f" > "$f.csv"
fi;
done