尝试检查bash脚本中是否存在Mysql用户
我试图检查是否存在MYSQL用户。这是我所能做到的。我无法从输出中获取答案尝试检查bash脚本中是否存在Mysql用户,mysql,bash,Mysql,Bash,我试图检查是否存在MYSQL用户。这是我所能做到的。我无法从输出中获取答案 #!/bin/bash echo -e "What is the MYSQL username called" read DBUSER if [ -z "$DBUSER" ] then exit mysql -uUSER -pPASS -e "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = '$DBUSER')";
#!/bin/bash
echo -e "What is the MYSQL username called"
read DBUSER
if [ -z "$DBUSER" ]
then
exit
mysql -uUSER -pPASS -e "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = '$DBUSER')";
if
yes
do this
else
do this
这是我得到的输出
+-----------------------------------------------------+
| EXISTS(SELECT 1 FROM mysql.user WHERE user = 'bob') |
+-----------------------------------------------------+
| 1 |
+-----------------------------------------------------+
请任何人帮忙将结果分配给变量可以这样做:
RESULT_VARIABLE="$(mysql -uUSER -pPASS -se "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = '$DBUSER')")"
顺便说一句,您还可以在MySQL中为一列添加别名
SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = '$DBUSER') AS does_it_exist
非常感谢你的帮助。这是工作的最终结果 它需要-sse
RESULT_VARIABLE="$(mysql -uUSER -pPASS -sse "SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = '$DBUSER')")"
if [ "$RESULT_VARIABLE" = 1 ]; then
echo "TRUE"
else
echo "FALSE"
fi
非常感谢。然后我试着去了解结果。如果[$RESULT_VARIABLE=1],这会给我一个错误;然后回显为真,否则回显重试,这很明显,但只是为了表示肯定。。。这对我使用shell\u exec->$is\u mysql\u user=shell\u exec'mysql-defaults extra file=MYPATHTOSTOREDCREDENTIALS-sse SELECT EXISTSSELECT 1 FROM mysql.user WHERE user=\$用户名。“\”;