###やりたいこと
シェルスクリプトでmysqlを実行をしようとしていますが、うまく実行されず困っています。
詳しい方教えてください。お願いします!
test.sh ファイルの内容
bash
1#!/bin/sh 2 3confpath=/home/my.cnf 4dbhost=myhost 5dbname=dbname 6 7COMMAND="mysql --default-extra-file=${confpath} -h ${dbhost} ${dbname}" 8# SQL="SHOW TABLES;" 9SQL="INSERT INTO test (name) VALUES ('aaaa');" 10 11# これで出力されたコマンドを実行すると、成功する 12# echo ${COMMAND} -e \"${SQL}\" 13 14${COMMAND} -e \"${SQL}\" 15
###実行
bash
1sudo sh ./test.sh
###メッセージ
実行するとエラーではないのですが、mysql --help
を実行した時のメッセージが出ます。
mysql Ver 14.14 Distrib 5.6.32, for Linux (x86_64) using EditLine wrapper Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Usage: mysql [OPTIONS] [database] . . .
###補足
- 実行されるコマンドを
echo
で出力し、それを実行するとINSERT
は成功しますので、
--default-extra-file=${confpath}
で指定しているものは間違っていないです。
mysql -u user -p password
と変えても状況は変わらず、メッセージも同じです。出力されたものを実行すると成功します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。