Prüfen, ob Skript als root ausgeführt wird

Wird ein Skript ausgeführt welches root-Rechte benötigt, so kann dies mit dem folgenden Snippet geprüft werden.

1
2
3
4
5
6
7
#! /bin/bash
if [ "$UID"  -eq 0 ]; then
        echo "Du bist root!"
else
        echo "Du benoetigst root-Rechte"
        exit 1
fi

Das kleine Script oben prüft, ob in der Variable “$UID” der Wert “0″ drin steht, wenn ja, so hat das Skript root-Berechtigungen, wenn nein, dann nicht. Der Befehl “exit” beendet das Skript.

Dateiendung bei vielen Dateien ändern

Heute hatte ich das Problem, dass ich mehrere (ca. 90) Dateien mit der Endung “.iso.filepart” auf einem Sambaserver hatte. Bei diesen sollte nun die Dateierweiterung bzw. das Extension zu “.iso” umbenannt werden. Das folgende Script hat mir dabei geholfen:

1
2
3
4
#! /bin/bash
for i in *.iso.filepart;
do mv "$i" "${i/.iso.filepart}".iso;
done

Der Ausdruck “${i/.iso.filepart}” schneidet den Text nach dem Schrägstrich vom Dateinamen ab, anschließend wird “.iso” wieder angehängt.