如何将变量从shell脚本传递到mysql脚本

时间:2016-06-27 17:58:06

标签: mysql linux bash shell variables

我有一堆mysql脚本使用 name1 作为数据库名称,并使用我的数据填充该数据库。但是,我希望能够选择数据库的名称,而不是始终在我的sql脚本中将其命名为 name1

我已经有了一个包装器shell脚本,它接受了我的数据文件的路径,现在我希望它也可以使用数据库的名称。

在我的shell脚本中,我指定:

DATABASE_NAME=$2

我的mysql脚本顶部有什么方法可以使用$ DATABASE_NAME吗?所以在mysql脚本中,它将是:

USE DATABASE_NAME;

而不是我现在所拥有的:

USE name1;

1 个答案:

答案 0 :(得分:1)

您可以使用mysql -e执行代码:

mysql -e "USE ${DATABASENAME}; Some sql"

这样任何替换都有效。

您可以选择将临时sql文件或管道代码写入mysql,在解析该文件时只需替换${DATABASENAME}即可。 (-e选项是最透明和最简单的)