我正在测试使用 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 * 希望有人能帮助我
您的问题来自这样一个事实,即在此处文档(<<SOMETHING
事物)中$
,\
和`
具有特殊含义。
为了避免这种情况,您应该通过引用第一个分隔符的任何部分来切换到这些字符不再特殊的 here-document 版本。示例如下:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句