Für einen Test brauche ich jetzt aber nur den Namen, oder eine
true/false, oder so.
Wie mache ich das am geschicktesten ?
Mir würde jetzt nur eine Schleife mit Testbedingung einfallen
for i in $var1; do if [o$i == obla1]; then var2=1; fi ; done
Der Name wird aber auch wieder ausgegeben wenn der User keine zusätzlichen Befehle über sudo ausführen darf. So ist es zumindest unter RedHat 5, Debian Lenny und Solaris 10. D.h. eine Suche nur nach dem Namen wird nicht zum gewünschten Ergebnis führen.
Es geht doch bestimmt auch ein bißchen eleganter, oder ?
Da der Rückgabewert von sudo an das lokale System übergeben wird, kann dieser direkt ausgewertet werden. Alles was nach dem „&&“ kommt, wird in diesem Fall nur ausgeführt, wenn das sudo erfolgreich, d.h. der Benutzer erhält zusätzliche Rechte, zurück kommt.