我正在尝试编写一个bash脚本,该脚本将使用新名称的变量创建数据库,但没有任何运气与语法。我对bash几乎一无所知。在我输入db密码后,一直告诉我在第1行有语法错误。
setup.sh
#!/bin/bash
db="mytest"
scl enable rh-mariadb 'mysql -u user -p -e "set @dbname=$db; . setup_db.sql"'
setup_db.sql
SET @query = CONCAT('CREATE DATABASE `', @dbname, '`');
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREAPRE stmt;
如果我硬编码的数据库名称,我有$db在bash中,然后我收到这个错误:
字段列表中未知列'mytest'
您需要将数据库名称放在引号中,否则将被视为列名。
scl enable rh-mariadb 'mysql -u user -p -e "set @dbname="$db"; . setup_db.sql"'