使用带有特殊字符的字符串编写登录mysql的脚本

使用带有特殊字符的字符串编写登录mysql的脚本

我有一个脚本,我想在 mysql 数据库中自动登录。

问题是当密码包含特殊字符时,这里是一个例子:

密码文件包含:

password=$AES-256$VlQ==$+rZfd6ntjZdyD0=

这是脚本:

pass=$(cat password_file | grep password | cut -d"=" -f2)
mysql -uroot -p$pass

这怎么可能做到呢?或许正试图逃避

我知道即使剪切部分也只是将密码切成两半。

答案1

你可以用 GNU 尝试一下grep

grep -Po "(?<=^password=).*" file

sed

grep "^password" file | sed 's/[^=]*=//'

awk

awk -F'password=' '{ print $2 }'

答案2

不要 grep,只需获取文件:

. /path/to/password.txt

您现在已将密码保存为$password,因此您可以执行以下操作:

mysql -uroot -p"$password"

相关内容