Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何将脚本sh的变量指定给脚本SQL?_Mysql_Bash - Fatal编程技术网

Mysql 如何将脚本sh的变量指定给脚本SQL?

Mysql 如何将脚本sh的变量指定给脚本SQL?,mysql,bash,Mysql,Bash,我想在SQL查询文件中传递bash脚本的一个变量,但我不能 这是我脚本的最新版本。sh: user = "USEREXAMPLE" mysql –root -proot –h localhost -A -e "set @user=${user};" > "add.sql"; CREATE USER ', @user ,’@‘localhost’ IDENTIFIED BY ', @user ,'; 到我的add.sql: user = "USEREXAMPLE" mysql –ro

我想在SQL查询文件中传递bash脚本的一个变量,但我不能

这是我脚本的最新版本。sh:

user = "USEREXAMPLE"

mysql –root -proot –h localhost -A -e "set @user=${user};" > "add.sql";
CREATE USER ', @user ,’@‘localhost’ IDENTIFIED BY ', @user ,';
到我的add.sql:

user = "USEREXAMPLE"

mysql –root -proot –h localhost -A -e "set @user=${user};" > "add.sql";
CREATE USER ', @user ,’@‘localhost’ IDENTIFIED BY ', @user ,';
在此之后所需的请求:

创建用户USEREXEMPLE@localhost由userexample标识


按如下方式创建文件:

#!/bin/bash

user="USEREXAMPLE"

echo "CREATE USER $user@localhost IDENTIFIED BY $user;" >add.sql

然后在mysql命令中使用add.sql。

您的变量定义不正确。它应该是
user=“USEREXAMPLE”
。等号前后不允许有空格。你考虑过使用heredoc吗?当然为什么不?但是当文本量很小时,我更喜欢这样做。