我很高兴看到编写一个bash脚本与MySQL
进行交互是多么容易
但试着这个:
#!/bin/bash
res=`mysql -u $USER -p$PASS students <<EOF | tail -n +2
SELECT name FROM table WHERE age = 20 limit 1;
EOF`
for d in $res;
do
echo Result : $d
done
如果结果是“John Smith”,我得到:
Result: John
Result: Smith
如何解决这个问题呢? 似乎它将它视为2个值,而它是一个列。
答案 0 :(得分:3)
你要问的一种方法是在循环之前添加:
IFS=$'\n'
这将更改默认的bash内部字段分隔符(IFS),默认情况下使用空格,制表符和新行。
我的示例仅适用于新行,因为这可能是您正在寻找的。 p>