使用日期变量创建 MySQL 数据库名称

使用日期变量创建 MySQL 数据库名称

对于变量

dbnya="echo $(date +%Y%m%d%H%M%S)"

当运行下面的代码时,我会得到一个错误(SQL语法错误)

mysql -u root -pthepass -e "CREATE DATABASE demo$dbnya CHARACTER SET utf8 COLLATE utf8_bin"

如果我使用dbnya=20120423230524第一个命令,第二个命令将起作用

答案1

您不需要使用 echo 命令:

$> dbnya="echo $(date +%Y%m%d%H%M%S)"
$> echo $dbnya
echo 20120423170042

只需将其从命令中删除,dbnya 就会收到日期评估的结果:

$> dbnya="$(date +%Y%m%d%H%M%S)"
$> echo $dbnya
20120423170114

答案2

使用反引号代替引号。

dbnya=`echo $(date +%Y%m%d%H%M%S)`

反引号 (`) 表示文本将作为命令执行,从而将变量设置为命令的输出。

相关内容