###前提・実現したいこと
シェルスクリプトで取得してきた値を比較して正しいかどうかを判断するコードを書きたいです。
WHERE で指定しているから意図したものが取得できているのですが
比較処理を行うと何故か比較が上手く行かず、値がが違うと言われてしまいます。
どういう指定を行えば意図した結果が返ってくるようになるのでしょうか?
取得してきたデータを比較してOKを返す処理の書き方を教えて下さい。
###発生している問題・エラーメッセージ
root@26dc785e71b2:/# sh /db_server/testscripts/testContainerCreate.sh mysql: [Warning] Using a password on the command line interface can be insecure. 1 AAA 0 1 AAA 0 NG NG root@26dc785e71b2:/#
###該当のソースコード
#!/bin/sh echo "" echo "" commandSampleMessages=`mysql -u root -p$MYSQL_ENV_MYSQL_ROOT_PASSWORD -h $MYSQL_PORT_3306_TCP_ADDR -N -s -e 'SELECT * FROM db.messages WHERE ( id = 1 AND message = "AAA" AND user = 0 );'` echo $commandSampleMessages echo "$commandSampleMessages" echo "" if [ "$commandSampleMessages" = "1 AAA 0" ]; then echo "OK" else echo "NG" fi if [ "$commandSampleMessages" = "1 AAA 0" ]; then echo "OK" else echo "NG" fi echo "" echo ""
補足
環境が問題で上手く逝っていない可能性があるかと思い環境について載せます。
DockerのMySQLイメージを利用してサーバーを立てています。
$ docker run --name db_server -p 3306:3306 -v /c/Users...:/docker-entrypoint -initdb.d -v /c/Users...:/etc/mysql/conf.d -e MYSQL_DATABASE=db -e MYSQL_USER= devuser -e MYSQL_PASSWORD=secret -e MYSQL_ROOT_PASSWORD=verysecret -d mysql
上記サーバーに下記コマンドで接続して
db_server フォルダに置いてあるスクリプトを実行しています。
その中身が上記のコードです。
$ docker run --link db_server:mysql -it -v /c/Users/...:/db_server --rm mysql bash
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/05 05:48