Mysql bash中的变量

Mysql bash中的变量,mysql,bash,heredoc,Mysql,Bash,Heredoc,看起来变量没有得到填充,尽管理论上应该如此。 我错过什么了吗 echo "Setting up: $db" cat <<EOF > ./mysql_setup.sql create database $db; grant all on $db.* To $adm_user@localhost identified by '$adm_pass' WITH GRANT OPTION; grant all on $db.* To $adm_user@'%' identified b

看起来变量没有得到填充,尽管理论上应该如此。 我错过什么了吗

echo "Setting up: $db"

cat <<EOF > ./mysql_setup.sql
create database $db;
grant all on $db.* To $adm_user@localhost identified by '$adm_pass' WITH GRANT OPTION;
grant all on $db.* To $adm_user@'%' identified by '$adm_pass' WITH GRANT OPTION;

EOF

echo "quit" >> ./mysql_setup.sql
echo“设置:$db”
cat>/mysql\u setup.sql

在哪里设置
db
?您是否希望扩展
$adm\u pass
?如果是,您将其设置在哪里?在您的命令之后,msyql_setup.sql中有什么内容,您希望有什么内容?请提供一个。如果我运行您输入的代码,则没有定义任何变量。为什么要使用单独的
echo
命令将
quit
放入文件中,而不是将其放入here文档中?代码似乎正确。不确定问题出在哪里。当我在OSX上用
bash
v3.2和v4.4设置
db=“testtest”
的值时,它对我起作用了。很抱歉,sabove代码起作用了。问题是,我错误地修改了$db varibale,这不在问题片段中。