Como armazenar os resultados de várias consultas sql em variáveis shell no Bash?

0

Eu preciso armazenar em array os resultados recuperados do banco de dados. Até agora, isso é basicamente o que estou tentando sem sucesso.

 Myarray=$(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p$password)

Meu entendimento dos comandos bash não é muito bom, como você pode ver. obrigada.

    
por Fimo 21.11.2014 / 21:41

2 respostas

2

Isso funciona:

#!/bin/bash
results=($(mysql --user root -pwelcome ts -Bse "SELECT type, network_id, subnet_msk FROM remote_subnet;"))

cnt=${#results[@]}
for (( i=0 ; i<cnt ; i++ ))
do
    echo "Record No. $i: ${results[$i]}"
    fieldA=${results[0]};
    fieldB=${results[1]};
    fieldC=${results[2]};
done
    
por 21.11.2014 / 22:33
0
#! bin/bash
query="select * from test;"

myarray=$(mysql -h hostname -u user -ppass database << eof
$query
eof)

echo $myarray
    
por 21.11.2014 / 22:07