在bash脚本中的mysql查询中只返回一个字符串

时间:2015-03-29 01:14:39

标签: mysql bash

那里有很多类似的问题似乎都在回答这个问题,但它并不适合我。

这是bash脚本中的mysql查询,结果行以字符串形式返回,而不是数组。 我错过了什么吗?

while read -a row;
  do
   echo "${row[0]}";
  done < <(mysql -u $dbuser -p$dbpass -N --database=$dbname --host=$dbhost --batch -se  "SELECT id, CONCAT(id, '_', filename) from photos" );
}

这回应200 200_filename.jpg。 我认为应该回应200 回应${row[1]}会显示一个空行。

1 个答案:

答案 0 :(得分:0)

魔法是IFS。使用选项卡添加它可以修复数组问题

while IFS=$'\t' read -a row;
  do
   echo "${row[0]}";
  done