私は私たちのサーバーでウェブサイトを設定するすべてのステップを処理するスクリプトを書いています。私が経験している問題は、誰かが間違ったMySQLパスワードを入力しても、スクリプトが実行され続け、データベース生成をスキップすることです。パスワードが正しくない場合は、停止して再度リクエストしたいと思います。
この問題にどのように対処する必要がありますか?
これは私のコードです -
read -s -p "Enter the MySQL password: " BASEPASS
mysql -u ${BASEUSER} -p${BASEPASS} <<CREATE_DB_QUERY
CREATE DATABASE IF NOT EXISTS ${NEWDB};
CREATE USER ${NEWUSER} IDENTIFIED BY '${NEWPASS}';
GRANT ALL ON ${NEWDB}.* TO ${NEWUSER};
CREATE_DB_QUERY
mysqldump --opt --user=${BASEUSER} --password=${BASEPASS} ${BASEDB} > ${SQLFILE}
mysql --user=${BASEUSER} --password=${BASEPASS} ${NEWDB} < ${SQLFILE}
rm ${SQLFILE}
答え1
set -o errexit -o nounset
まず、スクリプトの一番上にあることを確認してください。次に、1つ以上の有効なパスワードが得られるまで、簡単なチェックを繰り返します。
while true
do
read -s -p "Enter the MySQL password: " BASEPASS
mysql -u "$BASEUSER" "-p${BASEPASS}" 'SELECT 1' && break
done
返品、より多くの引用を使用™!