unerwartetes EOF beim Suchen nach passendem `)'

unerwartetes EOF beim Suchen nach passendem `)'

Ich erhalte diesen FehlerSchlagauf meinem virtuellen Hosting, in Cron-Aufgaben. Mein Befehl lautet wie folgt:

/usr/bin/mysqldump --user=USERNAME --password="C\(mRA0_ifmv\(" DATABASE > ROOTFOLDER/backup/$(date +%F).sql && gzip ROOTFOLDER/backup/$(date +%F).sql

Ich habe mich wirklich verstecktBenutzer,DatenbankUndHome-Ordneraus Sicherheitsgründen. Ich verstehe also, dass mein Passwort diesen Fehler verursacht, aber ich möchte es nicht ändern.

Wie kann ich das Zeichen für die öffnende Klammer umgehen oder diesen Fehler vermeiden, und warum funktioniert „\“ nicht?

Antwort1

Verwenden Sie für das Passwort einfache Anführungszeichen.

--password='C\(mRA0_ifmv\('

Bash-Handbuch: Einfache Anführungszeichen

Wenn Sie Zeichen in einfache Anführungszeichen (''') einschließen, bleibt der Literalwert jedes Zeichens innerhalb der Anführungszeichen erhalten. Zwischen einfachen Anführungszeichen darf kein einfaches Anführungszeichen stehen, auch nicht, wenn ein Backslash davor steht.

Bash-Handbuch: Doppelte Anführungszeichen

Wenn Sie Zeichen in doppelte Anführungszeichen ('"') setzen, bleibt der Literalwert aller Zeichen innerhalb der Anführungszeichen erhalten, mit Ausnahme von '$', '`', '\' und (bei aktivierter Verlaufserweiterung) '!'.

verwandte Informationen