在bash中存储来自sql select的多个值

时间:2016-01-02 10:19:48

标签: mysql arrays bash

我试图存储以下sql select语句中的每个值,并使用bash将它们存储在单独的变量中。

 #!/bin/bash
 mysqlhost="thehost"
 mysqldb="thedb"
 mysqlun="theusername"
 mysqlpw="thepassword"
 mysqlconnection="--disable-column-names --host=$mysqlhost --user $mysqlun --password=$mysqlpw --database=$mysqldb"

declare -a pinIDs=$(mysql $mysqlconnection -e "SELECT pinID FROM somewhere WHERE something = something";)

当我使用代码

时,我得到以下结果
echo $pinIDs    

8 11 23 26

我需要将每个值存储到自己的变量中。

2 个答案:

答案 0 :(得分:1)

添加括号以将输出放在数组pinIDs中。取代

declare -a pinIDs=$(mysql $mysqlconnection -e "SELECT pinID FROM somewhere WHERE something = something";)

通过

declare -a pinIDs=( $(mysql $mysqlconnection -e "SELECT pinID FROM somewhere WHERE something = something";) )

然后看输出:declare -p pinIDs

答案 1 :(得分:0)

对于正在使用它来学习的其他人。在修复括号以便将结果放入数组(例如(8 11 23 26)而不是8 11 23 26)之后我做了什么:

 let mycards = ObjectiveViewController(nibName:"ObjectiveViewController", bundle : nil)
 self.navigationController?.pushViewController(mycards, animated: true) and its working