Я пишу bash-скрипт для автоматического создания базы данных MySQL. Сценарий bash похож на следующий (пожалуйста, игнорируйте эти переменные $ db_name, $ db_pwd ...):
#!/bin/bash
sudo mysql -u root << EOF
CREATE DATABASE $db_name;
CREATE USER $db_user IDENTIFIED BY $db_pwd;
GRANT ALL PRIVILEGES ON $db_name.* TO $db_user;
quit
EOF
printf "Done"
Я хочу, чтобы создание базы данных было успешно завершено, а команда печати запущена позже. Но я не могу поставить && после EOF, например:
#!/bin/bash
sudo mysql -u root << EOF
CREATE DATABASE $db_name;
CREATE USER $db_user IDENTIFIED BY $db_pwd;
GRANT ALL PRIVILEGES ON $db_name.* TO $db_user;
quit
EOF &&
printf "Done"
Это покажет ошибку как:
invalid command name "EOF"
while executing
"EOF &&"
Как я могу это сделать?