変数の
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=20120423230524
2番目のコマンドが機能します。
答え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)`
バックティック(`)は、テキストがコマンドとして実行され、変数がコマンドの出力に設定されることを示します。