@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?
  • Вопрос задан
  • 89 просмотров
Решения вопроса 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`';
В одинарных кавычках экранировать обратные тики не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
4People Лимассол
от 200 000 до 300 000 ₽
SberTech Москва
от 170 000 до 230 000 ₽
от 200 000 до 280 000 ₽
30 нояб. 2022, в 00:04
1000 руб./за проект
29 нояб. 2022, в 23:48
300 руб./за проект