阶段总结 ———— linux shell 判断mysql数据库密码是否为空、是否正确
去年的项目用shell写了一个管理mysql数据库的小工具,
·
去年的项目用shell写了一个管理mysql数据库的小工具,里面涉及到一个问题,就是判断mysql数据库密码是否正确,
当时还是小小的困扰了一下,后来查资料,自己又改了改,才勉强符合要求。
现在想来,其实是个很简单的东西。
凡事都是熟能生巧啊。
#!/bin/bash
DB_PASSWORD=""
DB_PASSWORD_LEN=""
SQL_RESULT=""
SQL_RESULT_LEN=""
#use a function to get or set the DB_PASSWORD
# .........
DB_PASSWORD_LEN=${#DB_PASSWORD}
#根据长度判断密码是否为空,采用不同的语句处理
if [[ ${DB_PASSWORD_LEN} -eq 0 ]];then
SQL_RESULT=${mysql -u ${DB_USER} -e quit 2>&1}
else
SQL_RESULT=${mysql -u ${DB_USER} -p${DB_PASSWORD} -e quit 2>&1}
fi
#这里的-p和{DB_PASSWORD}必须挨着,不然会提示你输密码的
#密码正确的话,SQL_RESULT_LEN为0
SQL_RESULT_LEN=${#SQL_RESULT}
if[[ ${SQL_RESULT_LEN} -eq 0 ]];then
echo "Right Password !"
else
echo "Wrong Password !"
fi
上文中的 2>&1是个比较奇特的用法,实际上,
0,1,2分别代表了stdin,stdout,stderr
2>&1实际上就是将错误结果重定向到标准输出上,上文中最后是用SQL_RESULT这个变量来捕获结果的
更多推荐
已为社区贡献1条内容
所有评论(0)