区切りテキスト ファイルを反復処理し、シェル スクリプトを使用してそれらを mysql DB テーブルに挿入しようとしています。
#!/bin/bash
while IFS='|' read val1 val2 val3
#cat testfile.txt | while read line
do
#val1=`echo $line | cut -d'|' -f1`
#val2=`echo $line | cut -d'|' -f2`
#val3=`echo $line | cut -d'|' -f3`
echo $val1 $val2 $val3
/usr/local/mysql/bin/mysql --host=127.0.0.1 --user=root --password= test << EOF
insert into addressTable(street,city,zip)values('$val1','$val2','$val3')
EOF
done < testfile.txt
testfile.txt の内容は次のようになります。
abc|xyz|123
def|uvw|456
スクリプトを実行すると、./testMySQL.sh: line 12: syntax error: unexpected end of file
エラーが発生します。
mysql に接続するコードとそれに続く insert ステートメントをコメント アウトすると、スクリプトは正常に動作し、コンテンツを表示するだけです。
ファイルを反復している方法が原因である可能性があると思いますが、ここで何が欠けているのかわかりません。