Crie o nome do banco de dados MySQL usando a variável a partir da data

2

para a variável

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

Ao executar o código abaixo, recebo um erro (erro de sintaxe SQL)

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

O segundo comando funcionará se eu estiver usando dbnya=20120423230524 como primeiro comando

    
por apasajja 23.04.2012 / 17:08

2 respostas

2

Use backticks em vez de aspas.

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

O backtick (') indica que o texto deve ser executado como um comando, definindo a variável para a saída do comando.

    
por 23.04.2012 / 17:12
5

Você não precisa usar o comando echo:

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

Basta removê-lo do comando, dbnya receberá o resultado da avaliação da data:

$> dbnya="$(date +%Y%m%d%H%M%S)"
$> echo $dbnya
20120423170114
    
por 23.04.2012 / 18:04