一致する `)' を検索中に予期しない 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 マニュアル: 二重引用符

文字を二重引用符 ('"') で囲むと、'$'、'`'、'\'、および履歴拡張が有効になっている場合は '!' を除く、引用符内のすべての文字のリテラル値が保持されます。

関連情報