私の簡単なスクリプトで何が起こっていますか? [閉鎖]

私の簡単なスクリプトで何が起こっていますか? [閉鎖]
#!/bin/bash
while read file1; do
     while read file2 : do
    if [ $file1 == $file2 ] ; then
    $file1 >> /infanass/dev/admin/test/newlist.txt
    fi
    echo "$file1"
    echo "$file2"
 done < /infanass/dev/admin/test/file2.txt
done < /infanass/dev/admin/test/file1.txt

間違い:

 ./test.bsh: line 9: syntax error near unexpected token `done'
 ./test.bsh: line 9: `    done 3</infanass/dev/admin/test/file2.txt'

答え1

3行目に

while read file2 : do

読まなければならない

while read file2 ; do

したがって、whileループの構文は有効です。

注:以前のバージョンを使用しているため、コマンドが中断されないように[引用符と変数を[[使用する必要があります。file1file2pathname expansionword splitting[

関連情報