シェルスクリプトで mysql にアクセスして select

study pk で dicom ファイルの収納されているパスを取得します。

まずは、接続情報を外部ファイルに記録。

database.conf

[client]
database = pacsdb
user     = heno
password = moheno
select.sh

#!/bin/bash

function filePath() {    
    query="SELECT filepath FROM files WHERE instance_fk IN (SELECT pk FROM instance WHERE series_fk IN (SELECT pk FROM series WHERE study_fk = '83'))"
    result=$(mysql --defaults-extra-file=./database.conf -e "${query}")
    if [[ $? -eq 0 ]]; then
        for value in ${result}
            do
                echo "${value}"
            done
    else
        echo "fail to select from mysql." 1>&2
    fi
}
filePath

結果は


filepath
2021/11/12/12/823BFA57/823BFA59/81C090F6
2021/11/12/12/823BFA57/823BFA59/81C179B5
2021/11/12/12/823BFA57/823BFA59/81C1EE15
2021/11/12/12/823BFA57/823BFA59/81CBEE40
2021/11/12/12/823BFA57/823BFA59/81CC62A0
2021/11/12/12/823BFA57/823BFA59/81CCD700
2021/11/12/12/823BFA57/823BFA59/81CD4B60
2021/11/12/12/823BFA57/823BFA59/81CDBFC0
2021/11/12/12/823BFA57/823BFA59/81CE3420
2021/11/12/12/823BFA57/823BFA59/81CEA880
2021/11/12/12/823BFA57/823BFA59/E326D19D
2021/11/12/12/823BFA57/823BFA59/E326D19E
2021/11/12/12/823BFA57/823BFA59/E32727F6
2021/11/12/12/823BFA57/823BFA59/E32727F7
2021/11/12/12/823BFA57/823BFA59/E3272F7A
2021/11/12/12/823BFA57/823BFA59/E3272F7B
2021/11/12/12/823BFA57/823BFA59/E32736FE
2021/11/12/12/823BFA57/823BFA59/E32736FF
2021/11/12/12/823BFA57/823BFA59/E3273E82
2021/11/12/12/823BFA57/823BFA97/823BFA98