我有以下bash脚本:
MYSQL="which mysql"
SQL="CREATE DATABASE IF NOT EXISTS TEST;"
read -p -s "Enter mySQL password:" DBPASS
$MYSQL -root -p$DBPASS -e "$SQL"
if [ "$?" -eq 0 ];
then
echo "Failed."
else
echo "Done."
fi
即使我输入了错误的密码,脚本也会显示"Done."
,因为它无法检测到mysql命令错误......
当有人输入错误的密码时,我需要能够正确显示"Error."
消息。
帮助表示赞赏。
答案 0 :(得分:5)
$? == 0表示命令成功运行。
试试这个:
MYSQL="which mysql"
SQL="CREATE DATABASE IF NOT EXISTS TEST;"
read -p -s "Enter mySQL password:" DBPASS
$MYSQL -root -p$DBPASS -e "$SQL"
if [ "$?" -eq 0 ];
then
echo "Done."
else
echo "Failed."
fi