3

Я получаю эту ошибку bash на моем виртуальном хостинге, в задачах cron. Моя команда следующая:

/usr/bin/mysqldump --user=USERNAME --password="C\(mRA0_ifmv\(" DATABASE > ROOTFOLDER/backup/$(date +%F).sql && gzip ROOTFOLDER/backup/$(date +%F).sql

В целях безопасности я спрятал реального пользователя, базу данных и домашнюю папку . Итак, я понимаю, что мой пароль вызывает эту ошибку, но я не хочу его менять.

Как я могу избежать открытого символа скобки или избежать этой ошибки и почему "\" не работает?

1 ответ1

2

Используйте одинарные кавычки для пароля.

--password='C\(mRA0_ifmv\('

Руководство по Bash: одинарные кавычки

Заключение символов в одинарные кавычки ('' ') сохраняет буквальное значение каждого символа в кавычках. Одиночная кавычка может отсутствовать между одинарными кавычками, даже если ей предшествует обратная косая черта.

Руководство по Bash: двойные кавычки

Заключение символов в двойные кавычки ('' ') сохраняет буквальное значение всех символов в кавычках, за исключением' $ ',' `',' \'и, когда расширение истории включено,'! '.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .