查找匹配的 `)' 时出现意外的 EOF

查找匹配的 `)' 时出现意外的 EOF

我收到这个错误狂欢在我的虚拟主机上,在 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 手册:双引号

将字符括在双引号 ('"') 中会保留引号内所有字符的文字值,但 '$'、'`'、'\' 以及启用历史记录扩展时的 '!' 除外。

相关内容