使用数据库名称中的破折号通过bash删除数据库

时间:2016-02-24 08:11:24

标签: mysql database bash shell terminal

我在脚本中有一个变量,其中包含名称中包含短划线的文件夹名称列表

DBDIR="some directory"
dbdash=`ls -l $DBDIR | egrep '^d' | grep '.-.' | awk '{print $9}'`

我想删除每个具有相同名称的数据库和变量中的文件夹" dbdash"

dbhype=($dbdash)
    for dbtry in ${!dbhype[*]}
        do            
            mysqladmin -u$dbUser -p$dbPass 'drop database if exists `'${dbhype[$dbtry]}'` CHARACTER SET utf8 COLLATE utf8_general_ci;'
    done

但是在运行脚本

之后出现了这个错误
  

mysqladmin:未知命令:' drop database if if folder_name CHARACTER SET utf8 COLLAT'

如何使用脚本删除这些数据库?请帮忙。

1 个答案:

答案 0 :(得分:0)

反引号用于执行命令;你只想引用这个值(虽然你构建onClick的方式,引用为时已晚,你没有任何好处。)

dbhype