2017-08-09 8 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

は 'エコー[値]で、あなたの出口を交換してみてください。多分あなたは何らかの理由で出ているかもしれません。 – Aif

+0

すべてが動いているので、それは私が思うような問題ではありません。 –

答えて

1

どちら?そのうちの1人が残りの入力ファイルを消費しています。

しばらくの間、異なるファイルディスクリプタを使用してみてくださいは、ループをお読みください。

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

これで少し進歩しました! しかし、 "-u3"は正確に何をしていますか? –

+0

は、デフォルトの0(stdin)の代わりにファイル記述子3から読み取ります。対話型のbashプロンプトで、 'help read'と入力します。 –

関連する問題