2

My bash: 関数「クエリ」を使用した「テスト」

#!/bin/bash
MY_USER="root"
MY_PASSWORD="my_password"
MY_BD="my_db"
MY_HOME="/home/express"

function query {
    mysql -e $1 -u $MY_USER --password=$MY_PASSWORD $MY_BD
}

case $1 in
"period")
    mysql -e "SELECT cron_period()" -u $MY_USER --password=$MY_PASSWORD $MY_BD;;
"hold")
    query "SELECT cron_hold()";;
*)
    echo "Others";;
esac

テスト:

testing period // Working with complete command
testing hold   // Not working with function query, show commands info of MySQL

問題は関数クエリを使用する場合ですが、それを修正する方法がわかりません。

何か提案はありますか?

4

3 に答える 3

3

次のようにしてみてください$1

function query {
    mysql -e "$1" -u $MY_USER --password=$MY_PASSWORD $MY_BD
}
于 2013-10-08T18:01:49.763 に答える
1

それを試してください:

function query {
    mysql -e ${1} -u $MY_USER --password=$MY_PASSWORD $MY_BD
}
于 2013-10-08T19:02:37.837 に答える