Неожиданный EOF при поиске соответствия `)'
Я получаю эту ошибку bash на моем виртуальном хостинге, в задачах cron. Моя команда следующая:
/usr/bin/mysqldump --user=USERNAME --password="C\(mRA0_ifmv\(" DATABASE > ROOTFOLDER/backup/$(date +%F).sql && gzip ROOTFOLDER/backup/$(date +%F).sql
В целях безопасности я спрятал реального пользователя, базу данных и домашнюю папку. Итак, я понимаю, что мой пароль вызывает эту ошибку, но я не хочу его менять.
Как я могу избежать открытого символа скобки или избежать этой ошибки и почему "\" не работает?
1 ответ
Используйте одинарные кавычки для пароля.
--password='C\(mRA0_ifmv\('
Руководство по Bash: одинарные кавычки
Заключение символов в одинарные кавычки ('' ') сохраняет буквальное значение каждого символа в кавычках. Одиночная кавычка может отсутствовать между одинарными кавычками, даже если ей предшествует обратная косая черта.
Руководство по Bash: двойные кавычки
Заключение символов в двойные кавычки ('"') сохраняет буквальное значение всех символов в кавычках, за исключением '$', '`', '\' и, когда расширение истории включено, '!'.