Я получаю эту ошибкуБашна моем виртуальном хостинге, в cron tasks. Моя команда следующая:
/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: Двойные кавычки
Заключение символов в двойные кавычки ('"') сохраняет буквальное значение всех символов внутри кавычек, за исключением '$', '`', '\' и, если включено расширение истории, '!'.