我正在尝试从文件中读取行并根据该文件运行一些命令。但是,只读取文件的第一行,而不执行任何其他操作。没有显示错误消息,似乎do while循环忽略后续行。
文件的内容是文件路径。我能够以另一种方式让它工作,但它给了我太多的“垃圾”数据,结果需要更长时间才能运行。
示例内容:
Users/username/rest/of/the/file/path/
Users/username/rest/of/the/file/path/
Users/username/rest/of/the/file/path/
这是有问题的循环:
githubRepoList='githubcomparerepo.txt'
echo Start First Tag Check
while read l; do
cd ~
echo $l >> ~/testcsvtag1.txt
cd $l
pwd
find $l -type f -name "*.csv" >> ~/testcsvtag1.txt
printf "\n" >> ~/testcsvtag1.txt
done < $githubRepoList
有效的循环如下所示:
find / -name "l10n" >> l10n.txt
cat l10n.txt | grep github > l10n1.txt
filename='l10n1.txt'
echo Start
while read l; do
cd ~
echo $l >> ~/testcsvtag1.txt
cd $l
pwd
find $l -type f -name "*.csv" >> ~/testcsvtag1.txt
printf "\n" >> ~/testcsvtag1.txt
done < $filename
循环的一些内容只是为了监视它在编写此脚本和进行错误检查时的位置,例如cd ~
和pwd
命令。