目前,我有一个usrpwd.txt文件,用户和密码用'space'分隔。我希望将这些用户添加到我的mysql服务器并更改其权限。由于有2000个用户,手动添加它们变得不切实际。我尝试在bash脚本中使用awk:
awk '{mysql -u root -proot -e "CREATE USER '\''"$1"'\''@'\''%'\'' IDENTIFIED BY '\''"$2"'\'';"}' ./conf/usrpwd.txt ;
不幸的是,没有添加用户。没有报告错误。 此致,安德烈
答案 0 :(得分:0)
我的第一直觉不是在awk中解决这个问题,但无论如何,这里是:
$ cat tst.awk
{
cmd = sprintf("mysql -u root -p root -h localhost -e \"CREATE USER '%s'@'%' IDENTIFIED BY '%s'\"", $1, $2)
if ((cmd | getline line) > 0)
print line
close(cmd)
}
你可以这样称呼:
$ awk -f tst.awk usrpwd.txt
或者你可以把它放在一个bash脚本中,如果你愿意的话。