
Ich arbeite an einem Skript, das als Root ausgeführt werden muss, sonst sollte es alles stoppen.
#!/bin/bash
validationRoot() {
if [ $USER != 'root' ]
then
echo "You're not root! You can't use this script."
fi
}
validationRoot;
echo "You're root!"
Ich weiß nicht, was ich danach hinzufügen soll, echo "You're not root! You can't use this script."
um die Ausführung zu stoppen.
Antwort1
Ich hätte es so gemacht:
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
Beachten Sie, dass id=0 im Kernel verwendet wird, um den Superuser (oder Root) zu identifizieren.
Bearbeiten: Eine Weiterleitung zu STDERR wäre sogar noch besser.
Hier ist ein Einzeiler :)
(( EUID )) && echo ‘You need to be root.’ && exit 1