日付変数を使用して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=201204232305242番目のコマンドが機能します。

答え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)`

バックティック(`)は、テキストがコマンドとして実行され、変数がコマンドの出力に設定されることを示します。

関連情報