Создание имени базы данных 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=20120423230524 качестве первой команды

  • Shellscript! Синтаксическая ошибка, неожиданно "("
  • Unix - как извлекать файлы на основе части имени файла, которая является датой
  • Как извлечь дату и рассчитать, находится ли она в течение «х» дней с сегодняшнего дня?
  • Запустить фоновый процесс из sh и закрыть терминал
  • Linux заменит последний символ в файле csv на новую строку
  • Обновите / обновите Debian и пропустите любые взаимодействия
  • Глобальный / etc / profile setenv или экспорт, перезаписывающий пользовательские настройки в .profile
  • Помогите понять команду cut в скрипте
  • 2 Solutions collect form web for “Создание имени базы данных MySQL с использованием переменной с даты”

    Используйте backticks вместо кавычек.

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

    Обратный знак (`) указывает, что текст должен быть выполнен как команда, таким образом устанавливая переменную на вывод команды.

    Вам не нужно использовать команду 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 
    Linux и Unix - лучшая ОС в мире.