尋找配對的“)”時出現意外的 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 手冊:雙引號

將字元括在雙引號 ('"') 中會保留引號內所有字元的字面值,但 '$'、'`'、'\' 和啟用歷史擴展時的 '!' 除外。

相關內容