老师可以解释下||为啥不行吗,有点不懂,以及mysql_conn为啥不行
来源:11-5 利用Shell脚本将文本数据导入到MySQL中_2
慕丝3144748
2020-10-26
脚本
#!/bin/bash
user="dbuser"
password="123456"
db_name="$1"
SQL="$2"
mysql_conn="mysql -u"$user" -p"$password" "
IFS="||"
cat data.txt | while read id name birth sex
do
$mysql_conn -e "insert into school.student1 values('$id','$name','$birth','$sex')"
done
写回答
1回答
-
酷田
2020-11-13
之所以使用||作为IFS不可以的原因在于,和管道符冲突了,这样在使用cat data-2.txt | while read id name时,其实是没办法先去切分字段,再通过管道赋值的,shell本身在这方面处理的不好,可以理解为做不到,看下面的例子
我得out.sh脚本输出变量id和name的值,但是其实只传递过去了id。
注:shell本身在很多细节方面处理并不好,这些就是小知识点,记住就可以
20
相似问题