Я только начинаю работать со скриптами оболочки, чтобы избавить меня от ввода одних и тех же команд снова и снова. Эта команда используется для копирования базы данных на подчиненный сервер как часть настройки репликации базы данных MySQL.
Работает при непосредственном вводе в командной строке:
mysqldump --host=192.168.1.1 –uUSER –pPASSWORD --opt database_name | mysql --host=192.168.1.2 –uUSER –pPASSWORD -C database_name
ПОЛЬЗОВАТЕЛЬ, ПАРОЛЬ и имя_базы_данных все заменены их действительными значениями в реальном скрипте.
Когда я набираю эту команду в файле scripts.sh, даю ей разрешение на выполнение, а затем запускаю ее с ./scripts.sh. Я получаю:
'RROR1102 (42000): Incorrect database name 'database_name
mysqldump: Got errno 32 on write
Что может быть причиной этой ошибки? Нужно ли как-то изменять команду, если она содержится в сценарии оболочки?