'.png)
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) '!'.