mysqlのselect結果(カラム)をシェルの変数に代入し、使いまわしたい。
ShellScriptでmysqlのdbに接続。select文を実行し、二つのカラムを参照。参照した値を用意した二つのシェル変数に代入し、それらの変数を使いまわしたいと考えています。第一段階として、それぞれの変数を出力できるか試しています。問題は以下です。実行結果はnull?で何も表示されません。アドバイス頂ける方がいらっしゃいましたら、ご回答よろしくお願いいたします。
発生している問題
シェル変数(test1, test2)に値が入っていない
該当のソースコード
shellscript
1#!/bin/bash 2 3echo "[INFO]処理開始" 4 5#sql文 6que="select concat('test1=', matId), concat('test2=', matLocationname) from mats" 7 8#db接続と、sql文の実行。結果をシェル変数resultに代入(db名はkobaryotest) 9result=$(mysql --defaults-extra-file=/var/tmp/mysql.conf -t --show-warnings kobaryotest -N -e "${que}") 10 11eval 'echo ${result}' 12 13#シェル変数test1, test2を出力 14echo ${test1} 15echo ${test2} 16
db
1mysql> select * from mats; 2+------+--------------+-----------------+ 3| id | matId | matLocationname | 4+------+--------------+-----------------+ 5| 1 | W41181000522 | A | 6| 2 | W41181000518 | B | 7+------+--------------+-----------------+ 8
terminal
1[INFO]処理開始 2+--------------------+---------+ | test1=W41181000522 | test2=A | | test1=W41181000518 | test2=B | +--------------------+---------+ 3 4 5
補足情報(FW/ツールのバージョンなど)
【参考サイト】http://024minion.hatenablog.jp/entry/2017/07/15/214728
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/08 13:49
2019/09/09 01:01
2019/09/09 01:15
2019/09/09 02:25