0

从我的 Mac 终端的命令行:

mysql --host=127.0.0.1 --port=3306 -uroot -p"mypass" wordpress -e "update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0';"

顺利完成...

但是....仅.L2vsQdD3MxvxAuDFKp0写入每行的 user_pass 字段。威士忌探戈狐步舞?

在此处输入图像描述

不用说,当我update users set user_pass = '$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0';从像 DataGrip 这样的应用程序直接向数据库发出问题时,它会正确地获取整个字符串......

4

1 回答 1

2

$它们是 shell 变量的一部分,无意中被替换。您必须转义$字符以将其作为文字保存在字符串中$

$ echo "$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0"
.L2vsQdD3MxvxAuDFKp0
$ echo "\$1\$Hat7oFty\$mA.L2vsQdD3MxvxAuDFKp0"
$1$Hat7oFty$mA.L2vsQdD3MxvxAuDFKp0
于 2018-07-30T20:43:24.783 回答