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

  • Shell Script: захватывать строку в середине текста, иногда в начале
  • Чтение файла Microsoft Excel
  • Как проверить, есть ли в нем символы?
  • Как использовать регулярное выражение в sed?
  • Как сделать фильтр более эффективным
  • Автоматический запуск определенных скриптов при первом входе в систему / при запуске ПК
  • Что означает поиск файла в оболочке?
  • Массовое создание файлов с bash
  • 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 - лучшая ОС в мире.