Ich habe dieses Bash-Skript gehackt, das prüft, ob der Benutzer Superuser-Rechte hat und ob er nicht danach fragt. Letztendlich versuche ich, die zweite "if" -Anweisung umzukehren, damit ich die folgenden zwei Zeilen entfernen kann (das Echo "password ok" und das "else" in der folgenden Zeile)
# Root user only
if [[ "$EUID" != 0 ]]; then
sudo -k # make sure to ask for password on next sudo
if sudo true; then
echo "Password ok"
else
echo "Aborting script"
exit 1
fi
fi
echo "do my ops"
Ist der Zweck von "true" in der vierten Zeile nur eine Null-Anweisung?
Ich muss den Test in der vierten Zeile invertieren. Wie mache ich das? Folgendes habe ich versucht:
if sudo false; then
if sudo true == false; then
if [!(sudo true)]; then
echo "Aborting script" >&2