老师可以解释下||为啥不行吗,有点不懂,以及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本身在这方面处理的不好,可以理解为做不到,看下面的例子

//img.mukewang.com/szimg/5fae0d3c09d05f4a07510479.jpg

我得out.sh脚本输出变量id和name的值,但是其实只传递过去了id。

注:shell本身在很多细节方面处理并不好,这些就是小知识点,记住就可以

2
0

掌握Shell脚本编程 360架构师带你进阶Linux高手

30%知识讲解+70%实例操作 掌握Shell脚本编程能力

1638 学习 · 297 问题

查看课程