2017-08-09 118 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' –