0

我很高兴看到编写 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 个值。

4

1 回答 1

3

做你问的一种方法是在循环之前添加这个:

IFS=$'\n'

这将更改默认的 bash 内部字段分隔符 (IFS),默认情况下它适用于空格、制表符和新行。

我的示例仅适用于新行,因为这可能是您正在寻找的。

于 2013-07-23T18:37:37.907 回答