Herausfinden, ob User bestimmter Gruppe angehört?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von don_corleone, 24.10.2006.

  1. #1 don_corleone, 24.10.2006
    don_corleone

    don_corleone Guest

    Hallo,

    mit "groups user_name" kann ich mir ja anzeigen lassen welchen Gruppen ein User angehört.

    Aber wie kann ich in einem Script prüfen, ob der User "jim" wirklich der Gruppe "beam" angehört und daraufhin eine bestimmte Meldung ausgeben lassen (wenn dies der Fall ist)?

    Wäre für eure Hilfe wieder sehr dankbar!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Fuer bash (vermutlich allgemein POSIX konforme Interpreter:
    Code:
    if ( groups jim | grep beam > /dev/null ); then 
    echo "Gehoert der Gruppe and;
    else "Gehoert nicht der Gruppe an";
    fi
    
     
  4. #3 don_corleone, 24.10.2006
    don_corleone

    don_corleone Guest

    Danke für diese rasend schnelle Antwort, aber wenn es jetzt auch eine Gruppe "beam2" oder "xxxbeamxxx" geben würde und jim nur einer dieser Gruppen angehört, aber nicht der Gruppe "beam" selbst, würde mit diesem Beispiel doch eine falsche Meldung ausgegeben werden, oder?
     
  5. #4 Wolfgang, 24.10.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Dann benutze egrep und verfeinere den regulären Ausdruck!
    Dieser sollte aber möglichst immer gequotet werden.

    Gruß Wolfgang
     
  6. #5 don_corleone, 24.10.2006
    don_corleone

    don_corleone Guest

    Bin da leider nicht so gut drauf, kann mir bitte jemand dabei helfen?
     
  7. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Ist vielleicht 'grep -w' fein genug?
     
  8. #7 damager, 24.10.2006
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    :think:
    also einwenig selbsthilfe und lesen von "man grep" wäre nicht zuviel verlangt gewesen eigentlich... nix für ungut aber musste gesagt werden.
     
  9. #8 Wolfgang, 24.10.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Welche *nixshell hast du eigentlich?
    Bitte gewöhn dir doch mal an, das gleich mitzusagen.
    Nicht jeder kennt deine Bedingungen und es ist einfach ein Gebot der Höflichkeit, deine Hilfesuche für die Helfenden so leicht wie möglich zu machen.

    Ganz grob POSIX-conform kannst du ein Wort (Sonderzeichen darin mal außen vor gelassen) durch Nicht Char gefolgt von Charpattern deiner Wahl gefolgt von Nicht Char ausdrücken.
    Wenn du Tab oder Leerzeichen als Wortgrenze verwenden kannst, bist du fein raus.
    Code:
     "[[:space:]]Pattern[[:space:]]"
    Das dann noch auf das Gematchte Wort in grep reduziert, und du hast schon gewonnen. ;)
    Gruß Wolfgang
    PS Immer daran denken, cygwin ist keine *nix shell und bestimmt nicht POSIX-kompatible und hier OT.
     
  10. #9 don_corleone, 25.10.2006
    don_corleone

    don_corleone Guest

    Danke für den Tipp "grep -w". Das hat geholfen!

    Vielleicht weiß noch jemand, wie man feststellen kann, wieviele Sekunden das Script braucht, bis es fertig abgearbeitet ist?

    PS: Korn Shell
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    time shellscript
    ist das, was Du suchst.

    Gruss, Xanti
     
  13. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo

    Versuchs mal mit 'time' kenne allerdings die Syntax für 'time' in der korn shell nicht...
    In der bash siehts so aus:
    Code:
    adminjfu@hsg09017-d:~$ time { du . > /dev/null; }
    
    real    0m2.669s
    user    0m0.024s
    sys     0m0.180s
    adminjfu@hsg09017-d:~$
    
    'man time' wird dir weiterhelfen...

    Gruss
    d22
    //edit:
    zu spät.... ;)
     
Thema:

Herausfinden, ob User bestimmter Gruppe angehört?

Die Seite wird geladen...

Herausfinden, ob User bestimmter Gruppe angehört? - Ähnliche Themen

  1. Kurztipp: Eigene externe IP-Adresse herausfinden

    Kurztipp: Eigene externe IP-Adresse herausfinden: Man kann uPNP nutzen, um am eigenen Router die aktuelle externe IP-Adresse abzufragen. Weiterlesen...
  2. Grund für KDE-Absturz herausfinden,wie?

    Grund für KDE-Absturz herausfinden,wie?: Habe seit Squeeze mit KDE 4.x folgendes Problem: Nach einiger zeit, meist läuft Kopete, Icedove und Iceweasel, passiert es, dass KDE abstürzt....
  3. Umgebungsvars herausfinden per skript

    Umgebungsvars herausfinden per skript: Hallo Leute, gibt es einen Befehl oder sonst etwas, wie ich ich alle gesetzten Umgebungsvars herausfinden kann und deren Inhalt?
  4. Konsole: fontname herausfinden a la xfontsel

    Konsole: fontname herausfinden a la xfontsel: Hi, wie bekomm ich den Fontname, den Konsole verwendet, mit der Syntax die xfontsel liefert? (kde -v 3.5.8, konsole -v 1.6.6) Schon mal vielen Dank
  5. Gerätetyp herausfinden

    Gerätetyp herausfinden: Hallo, an einem Server ist ein AIT3-Bandlaufwerk angeschlossen und im System unter /dev/st0 verfügbar... Nun müsste ich wissen, wie das...