2017-08-09 93 views
0

我必须使用bash读出一个CSV文件。 但我的循环在1次迭代后退出。while循环在1次迭代后停止[BASH]

代码:

function readCSVFile() { 
input="bitbucket-repositories.csv"; 
OLDIFS=$IFS 
IFS="," 
while read repo tool folder; 
do 
    cd websites || exit 
    cloneRepo $repo 
    checkRepo 
    cd ../ || exit 0 
    checkTool -> calls another script (../script.bash) -> no ssh 
    countCSVLines 
done < $input 
IFS=$OLDIFS 

} 
+0

尝试'回声value'更换您的退出。也许你出于某种原因退出。 – Aif

+0

整件事情都在运行,所以这不是我想的问题。 –

回答

1

从标准输入读取自定义的命令?其中之一是消耗输入文件的其余部分。

尝试使用的,而不同的文件描述符读取循环:

while read -r -u3 repo tool folder; do ... done 3< "$input" 
+0

与这个有一点进展! 但是“-u3”究竟做了什么? –

+0

从文件描述符3读取而不是默认的0(标准输入)。在交互式bash提示符处,输入'help read' –