功能: 脚本从电子表格输出的.csv格式文件(数据以 ‘,’ 分隔)读取数据,生成标准的SQL语句,然后用数据库执行实现数据添加
#!/bin/bash
outfile='members.sql'
IFS=','
while read lname fname address city state zip
do
cat >> $outfile << *
INSERT INTO members (lname,fname,address,city,state,zip) VALUES (‘$lname’, '$fname', '$adderss', '$city', '$state', '$zip');
*
done < $1
--------------------《Linux Command Line and Shell Scripting Bible,3E》
说明:
脚本中出现了三次重定向
第一次: done < $1 从命令行第一个参数获取数据文件名,重定向为循环读取数据的来源
第二次和第三次: cat >> $outfile << * ... * “*”引起来的部分是内联输入重定向,将内部的命令内联给
cat命令,成为cat的输入数据,由于cat没有命令行参数,会将输入给他的数据重新输出,cat的输出重定向到了$outfile,
所以规范后的SQL语句会直接输出到 members.sql 文件