pacmexx schrieb:
Hallo, ich beschäftige mich gerade mit der Umsetzung des Scripts "Backup per rsync", hier auf dem Ubuntu-Wiki.
https://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC/#Das-Skript
Oh je. Ich mag das Skript nicht besonders, weil es z.B. mit solchen nützlichen Konventionen bricht, lokale Variablen klein zu schreiben. Dann werden alle Programmpfade in Variablen gespeichert, was das Skript erheblich komplizierter macht. Außerdem kommt es mir zu lang vor, aber das ist natürlich ziemlich unkonkrete Kritik.
Ich bin noch bei dem Verständnis der Logik und komme soweit klar bis auf eine Stelle, wie interpretiere ich folgende
IF-Abfrage, worauf wird da getestet?
(Zeile 27-34)
| TARGET="/media/backup"
LAST="last"; INC="--link-dest=$TARGET/$LAST"
if [ "${TARGET:${#TARGET}-1:1}" != "/" ]; then
TARGET=$TARGET/
fi
|
Da wird geschaut, ob $TARGET mit einem Slash endet und, falls nicht, wird einer angehängt. Das ist aber überflüssig: man kann einfach immer einen anhängen. Wenn, hätte ich die Abfrage so gemacht:
| [ -z "${TARGET##*/}" ] || TARGET="$TARGET/"
# oder
if [ -n "${TARGET##*/}" ]; then
TARGET="$TARGET/"
fi
|