@MikUrrey

Правильный синтаксис для такой команды?

Команда:
docker exec stack-mysql bash -c "mysql -u root -proot -h mysql -e \"CREATE DATABASE IF NOT EXISTS `stack-table`;\"";

Ошибка:
stack-table: команда не найдена
Как в этом случае правильно указать название таблицы stack-table?
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
Обратные кавычки ` `, которыми окружено название таблицы, в шелле означают, что надо выполнить команду внутри них.

Если внутри двойных кавычек " ... ", то экранируйте эти обратные кавычки: ...IF NOT EXISTS \`stack-table\`

В данном случае прослойка с bash даже и не нужна, можно сразу выполнять команду mysql:
docker exec stack-mysql \
  mysql -u root -proot -h mysql \
    -e 'CREATE DATABASE IF NOT EXISTS `stack-table`';
В одинарных кавычках экранировать обратные тики не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы