0

私はbashスクリプトに取り組んでおり、少し助けが必要です.これは私が現在持っているものです.

mysql -e "create database if not exists ${UN}_${SQLBASE}"
mysql -Be "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE ROUTINE ON \`"$UN"\\_"$SQLBASE"\`.* TO '"$UN"_"$SQLUSER"'@'localhost' IDENTIFIED BY '$SQLPASS';FLUSH PRIVILEGES"

ほとんどの場合、cpanel_db1 という名前のデータベースを作成する方法を知る必要があります。存在する場合は、自動的に番号が上に移動します。ex cpanel_db2.

4

1 に答える 1

0

次のようなことができます:

username="usernamedb"
password="passworddb"

database="cpanel_db"
databases=$(mysql -u $username -p$password -Bse 'show databases'|grep $database)

max=1

if [ -z "$databases" ];then
    mysql -u $username -p$password -Bse "create database ${database}$max"
else
    for cdatabase in $databases
    do
        cdatabasenumber=$(echo $cdatabase|awk -F"db" '{print $2}')
        if [ $cdatabasenumber -gt $max ]; then
            max=$cdatabasenumber
        fi
    done
    let max++

    mysql -u $username -p$password -Bse "create database ${database}$max"
fi

~ ~

于 2012-08-13T16:14:43.803 に答える