我使用readlines()
对Python有类似的问题,但我不确定它是否在这里。
read
命令挂起了我的bash脚本。
generate_email()
{
# --- Arguments
oldrev=$(git rev-parse $1)
newrev=$(git rev-parse $2)
refname="$3"
# ... some code ...
}
# ... more code ...
while read oldrev newrev refname
do
generate_email $oldrev $newrev $refname
done
有关如何解决此问题的任何想法?
答案 0 :(得分:2)
你不是在宣读读物。所以它只是等待来自stdin
的输入。
如果您想要从文件中读取,则需要使用read
,如下所示:
while read -r oldrev newrev refname; do
generate_email "$oldrev" "$newrev" "$refname"
done < /path/to/file
请注意< /path/to/file
。这就是你实际上告诉读取文件的地方。
如果您想要从输入流中读取,可以使用while read
,如下所示:
grep 'stuffInFile' /path/to/file |
while read -r oldrev newrev refname; do
generate_email "$oldrev" "$newrev" "$refname"
done
答案 1 :(得分:1)
我会说它不是悬挂,而是等待输入。
注意并确保generate_email
不从同一输入流中读取。