我收到這個錯誤巴什在我的虛擬主機上,在 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\('
將字元括在單引號 (''') 中可保留引號內每個字元的字面值。單引號之間不能出現單引號,即使前面有反斜線也是如此。
將字元括在雙引號 ('"') 中會保留引號內所有字元的字面值,但 '$'、'`'、'\' 和啟用歷史擴展時的 '!' 除外。