我的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
问题在于使用函数查询,但不知道如何纠正它。
有什么建议吗?
答案 0 :(得分:4)
尝试在函数中的$ 1附近加双引号。
答案 1 :(得分:3)
尝试这样,即将$1
放入双qoutes:
function query {
mysql -e "$1" -u $MY_USER --password=$MY_PASSWORD $MY_BD
}
答案 2 :(得分:1)
试试:
function query {
mysql -e ${1} -u $MY_USER --password=$MY_PASSWORD $MY_BD
}