Мне нужно хранить в массиве результаты, полученные из базы данных. Пока что это в основном то, что я пытаюсь безуспешно.

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

Мое понимание команд bash не очень хорошее, как вы можете видеть. благодарю вас.

2 ответа2

2

Это работает:

#!/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
0
#! bin/bash
query="select * from test;"

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

echo $myarray

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .