rdiff-backup schlägt vom Shellskript fehl

1264
scry

Ich versuche, ein Shell-Skript (sh) für Sicherungen auszuführen, wobei rdiff-backup verwendet wird. Die Zeilen von Interesse sind:

cmd="$ -v5 --print-statistics --include-globbing-filelist $ \ --exclude ** $ $" echo "$" $cmd 

Es gibt den korrekten Befehl für mich wieder, aber erstickt den Befehl selbst:

rdiff-backup -v5 --print-statistics --include-globbing-filelist /etc/backup/include-list --exclude ** / /backup/all Using rdiff-backup version 1.2.8 Fatal Error: Switches missing or wrong number of arguments See the rdiff-backup manual page for more information. 

Das direkte Ausführen des Befehls funktioniert ( '**'anstelle von **). Beachten Sie, dass ich es '**'in der Befehlszeichenfolge versucht habe, es wurde jedoch falsch erweitert und es wird ein Fehler angezeigt

Fatal Error: Fatal Error: The file specification ''**' cannot match any files in the base directory '/' ... 

Aber ich gehe davon aus, dass dies immer noch ein Expansionsproblem ist, also ist das vielleicht falsch. Ich bin im Moment sehr verwirrt und würde mich über etwas Hilfe freuen.

4
Fügen Sie set -xv hinzu, um den Befehl als Debugging-Hilfe auszudrucken. Vielleicht wird es helfen. bbaja42 vor 11 Jahren 0
Ich habe das tatsächlich versucht. Es gibt mir die gleiche Saite oben. scry vor 11 Jahren 0

1 Antwort auf die Frage

1
drAlberT

Ich habe das Laufen gelöst bash -c "$cmd"