スクリプト暗号化パスワードの失敗

スクリプト暗号化パスワードの失敗

私のデータベースにユーザーを追加するためにbashスクリプトを使用してテストしています!私のbashスクリプトコードは次のとおりです。

mysql -u root <<MYSQL_SCRIPT
USE mail_server;
INSERT INTO mail_server.virtual_users

  (`id`, `domain_id`, `password` , `email`)

VALUES

  ('1', '1', ENCRYPT('test@test', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[email protected]');

MYSQL_SCRIPT

スクリプトを実行するとユーザーは保存されますが、データベースにはパスワードが「0 *」として保存されます。私のすべてのユーザーパスワードはパスワード0 *を受信して​​います。誰かが助けになることを願っています。

ベストアンサー1

<<SOMETHINGあなたの問題は、ここに書かれているもの(物事)には、$特別な意味が\あるという事実から来ています`

これを回避するには、最初の区切り文字の一部を引用して、これらの文字を特別ではなくなった文書バージョンに切り替える必要があります。例は次のとおりです。

mysql -u root <<\MYSQL_SCRIPT
MYSQL_SCRIPT
mysql -u root <<'M'YSQL_SCRIPT
MYSQL_SCRIPT
mysql -u root <<MYSQL_SCRIP\T
MYSQL_SCRIPT
mysql -u root <<MY"SQL_SC"RIPT
MYSQL_SCRIPT
mysql -u root <<'MYSQL_SCRIPT'
MYSQL_SCRIPT

おすすめ記事