我正在尝试使用while循环逐行读取文件:
while read Line; do
echo Inside outer loop
while read Line2; do
.....
echo Inside inner loop
.....
done < /absolute path of file/filename2
done < /absolute path of file/filename
独立运行时脚本运行正常。但是当它从crontab运行时它不会进入循环内部。
请说明可能的原因。
答案 0 :(得分:1)
第二个while循环正在读取 all 输入(&#34; filename&#34;的第一行除外)。您需要重定向到单独的文件描述符:
while IFS= read -r -u3 Line; do
echo Inside outer loop
while IFS= read -r -u4 Line2; do
.....
echo Inside inner loop
.....
done 4< "/absolute path of file/filename2"
done 3< "/absolute path of file/filename"
IFS=
和read -r
确保从文件中逐字读取该行。 read -u3
和3< file
使用特定的fd