我收到这个错误狂欢在我的虚拟主机上,在 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\('
将字符括在单引号 (''') 中可保留引号内每个字符的字面值。单引号之间不能出现单引号,即使前面有反斜杠。
将字符括在双引号 ('"') 中会保留引号内所有字符的文字值,但 '$'、'`'、'\' 以及启用历史记录扩展时的 '!' 除外。