[SH] Check if root

Hallo,

Ist zwar kein Programmieren, aber ich hoffe, dass ich trotzdem das richtige Forum erwischt habe.

Ich frage mich wieso dies hier nicht funktioniert:

---
#!/bin/sh
ROOT_UID=0

if ("$UID" -ne "$ROOT_UID")
then
echo "your not root!"
exit 1
fi
echo "you are root!"
--
Vielen Dank für eure hilfe, gruss screenshot
 
whoops, hab was übersehen

Die sh ist nicht deine Loginshell oder?
UID ist nicht belegt deswegen funktioniert es nicht.
Lass mal die erste Zeile #!/bin/sh weg.

Code:
if [ "$UID" -eq 0 ]; then
   echo "root"
else
   echo "not root"
   exit 1
fi
 
Zuletzt bearbeitet:
ein aufruf von `id -u` sollte dein problem perfekt lösen

Code:
#!/bin/sh
 
if [ `id -u` -ne "0" ]; then
        echo "not root"
else
        echo "root"
fi
 
cubby schrieb:
Code:
#!/bin/sh
 
if [ `id -u` -ne "0" ]; then
        echo "not root"
else
        echo "root"
fi
Oder schneller zu tippen:
Code:
#!/bin/sh
[ `id -u` -ne "0" ] && echo root || echo not root
Was ist von diesem Stil eigentlich zu halten? ;)

Gruß,
/dev
 
Kommt drauf an was man vor hat

Ein:
Code:
[ `id -u` -ne "0" ] && echo root || exit 1

Ist schon in Ordnung weil das ja nur eine einmalige Prüfung is, wenn in dem if aber mehr passieren soll mach ichs lieber so wie ichs oben geschrieben hab.

Ist halt lesbarer (meiner meinung nach).
 
Zurück
Oben