Nach Benutzernamen suchen

Diskutiere Nach Benutzernamen suchen im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hallo, gibt es in der Shell die Möglichkeit auch nach bestimmten Benutzernamen zu suchen? Ich hab da z.B. ein Programm welches ein Menü...

  1. Sanicx

    Sanicx Grünschnabel

    Dabei seit:
    24.04.2008
    Beiträge:
    9
    Zustimmungen:
    0
    Hallo,

    gibt es in der Shell die Möglichkeit auch nach bestimmten Benutzernamen zu suchen? Ich hab da z.B. ein Programm welches ein Menü aufruft, in dem man dann verschiedene Funktionen aufrufen kann.

    So sieht das Menü aus:
    Code:
    ----------------------------------------------------------
            WILLKOMMEN ZUR KLEINEN SYSTEMADMINISTRATION
    
    Bitte wählen Sie eine Option:
    [1] Informationen über das Dateisystem.
    [2] Informationen über den verfügbaren Plattenplatz.
    [3] Wieviele Benutzer sind angemeldet?
    [4] Ist Benutzer XYZ angemeldet?
    [5] Ende.
    
    Es funktioniert schon alles nur eben bei der [4] weiß ich nicht weiter...
    Wäre super, wenn mir da jemand helfen könnte, habe schon ewig danach gesucht, aber irgendwie nicht das richtige gefunden.
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Dvergr

    Dvergr Tripel-As

    Dabei seit:
    10.10.2006
    Beiträge:
    180
    Zustimmungen:
    0
    Wenn du "users" eingibst, werden die angemeldeten Benutzer angezeigt. Daraus ließe sich doch sicher was basteln.
     
  4. Sanicx

    Sanicx Grünschnabel

    Dabei seit:
    24.04.2008
    Beiträge:
    9
    Zustimmungen:
    0
    Aber wie kann ich den eingegebenen Namen mit den angemeldeten Usern überprüfen?
    Wie muss ich "users" dann in meinem C-Programm inistialisieren?
     
  5. #4 supersucker, 29.05.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Poste mal dein bisheriges Programm, dann sehen wir weiter.
     
  6. Sanicx

    Sanicx Grünschnabel

    Dabei seit:
    24.04.2008
    Beiträge:
    9
    Zustimmungen:
    0
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    main(){
    
            int zahl;
            char name, users;
            do{
                    printf("\n\n----------------------------------------------------------\n");
                    printf("\tWILLKOMMEN ZUR KLEINEN SYSTEMADMINISTRATION\n");
                    printf("\nBitte wählen Sie eine Option:\n");
                    printf("[1] Informationen über das Dateisystem.\n");
                    printf("[2] Informationen über den verfügbaren Plattenplatz.\n");
                    printf("[3] Wieviele Benutzer sind angemeldet?\n");
                    printf("[4] Ist Benutzer XYZ angemeldet?\n");
                    printf("[5] Ende.\n\n");
                    printf("Geben Sie die gewünschte Zahl ein: ");
                    scanf("%i", &zahl);
    
                    if (zahl<=5){
                            switch (zahl){
                            case 1:
                                    system("mount");
                                    break;
                            case 2:
                                    system("df -k");
                                    break;
                            case 3:
                                    system("who | wc -l");
                                    break;
                            case 4:
                                    printf("Bitte geben Sie einen Namen ein: ");
                                    scanf("%s", &name);
                                    if (name = users){
                                            printf("\n %s ist online", &name);
                                    }
                                    break;
                            case 5:
                                    exit(0);
                            }
                    }
                    else
                            printf("Sie haben einen falschen Wert eingegeben!\n");
            }
            while(zahl=5);
                    exit(0);
    }
    
     
  7. #6 bitmuncher, 29.05.2008
    bitmuncher

    bitmuncher Foren Gott

    Dabei seit:
    08.05.2007
    Beiträge:
    3.180
    Zustimmungen:
    3
    Schau dir doch einfach den Quelltext von users oder pinky an und schau wie es dort implementiert ist.
     
  8. #7 Gott_in_schwarz, 29.05.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    bitmuncher: Er kackt das doch eh alles in "system"-Aufrufe in sein "C-Programm"...

    TE: Warum postest du dieses Problem im shell-Skripte-Subforum, respektive, warum machst du statt deinem Pseudo-c-Programm (die Funktionalität wird nur über einen Rattenschwanz von externen Programmen gewährleistet) nicht gleich ein shell-Skript? Dann muss den Thread auch Niemand verschieben. Yey, alle gewinnen.

    NICHTSDESTOWENIGER einige Anmerkungen:
    Code:
    if (name = users)
    Das ist eine Zuweisung, keine Überprüfung. Zuweisungen liefern (afair) immer true zurück. (Nicht mögliche Zuweisungen sind bestimmt compiler-Fehler oder so.) Gleicher Fehler hier, allerdings noch einer mehr:
    Code:
    while(zahl=5)[color=red];[/color]
                    exit(0);
    Nicht nur, dass "zahl=5" IMMER true ist, die Anweisung die diese while-Schleife ausführt ist das Nirvana, nämlich nix. (Eine mit Semicolon terminierte Leeranweisung.)
     
  9. andy81

    andy81 von_suse_zu_arch_wechsler

    Dabei seit:
    30.03.2008
    Beiträge:
    72
    Zustimmungen:
    0
    Da muß ich widersprechen. In C wird bei einem solchen Konstrukt nicht überprüft, ob die Zuweisung in Ordnung war. Vielmehr wird die Zuweisung durchgeführt, und dann geprüft, was in der Variablen steht.

    Also bei:
    Code:
    if(a=5)
    ...;
    
    wird die Anweisung unter if ausgeführt, bei
    Code:
    if(a=0)
    ...;
    
    wird sie nicht ausgeführt
     
  10. grey

    grey -=[GHOST]=-

    Dabei seit:
    28.07.2006
    Beiträge:
    303
    Zustimmungen:
    0
    Du hast dabei leider übersehen, daß es sich um eine do-while-Schleife handelt. Und in diesem Fall ist der Syntax korrekt.
    Die Einrückung der nachfolgenden exit-Anweisung ist allerdings etwas irritierend.
     
  11. #10 hagbard celine, 04.08.2008
    hagbard celine

    hagbard celine Routinier

    Dabei seit:
    02.06.2005
    Beiträge:
    251
    Zustimmungen:
    0
    Ort:
    Chemnitz
    also damit du auf die variable 'name' dich mit '&' referenzieren kannst, musst du diese als zeigervariable deklarieren; sprich: 'char *name;'! und 'users' kannst du nicht als variable deklarieren, was soll dir das bringen!?
    wenn du die ausgabe von user einer variable zuweisen möchtest, solltest du die konsolenausgabe von 'users' in einer datei leiten und diese parsen und vergleichen mit einer char-variablen. oder du schaust dir mal den sourcecode von 'users', wie oben schon erwähnt, an und versuchst heraus zu finden wie der tickt.

    @gott_in_schwarz: ich habe mit c++ auch so angefangen, in dem ich zuerst sinnlose schleifen und anweisungen geschrieben habe und sehr viel mit 'system()' rumgespastet. dann kam immer mehr die frage was dahinter steckt und habe mich step by step vertieft. vielleicht möchte der threadstarter das auch so machen. hmmm...
    mfg,
    hagbard
     
Thema:

Nach Benutzernamen suchen

Die Seite wird geladen...

Nach Benutzernamen suchen - Ähnliche Themen

  1. TrueNAS soll nach Debian 11 portiert werden

    TrueNAS soll nach Debian 11 portiert werden: Die Firma iXsystems plant die Portierung ihrer zusammengeführten BSD-Distribution TrueNAS auf verschiedene andere Plattformen. Zunächst ist dabei...
  2. Artikel: Die 21. LinuxBierWanderung kommt nach Kronberg!

    Artikel: Die 21. LinuxBierWanderung kommt nach Kronberg!: Dieser Artikel kündigt die 21. LinuxBierWanderung an, die vom 30. August bis 5. September 2020 in Kronberg stattfindet. Zugleich beantwortet er...
  3. Nach Upgrade von SLES 11 SP3 zu SLES 12 SP4 kein Zugriff von Windows mehr

    Nach Upgrade von SLES 11 SP3 zu SLES 12 SP4 kein Zugriff von Windows mehr: Ich habe hier einen Linux-Server, der Cifs-Mounts eines Windows-2008-Servers (nicht R2) über Samba weiterreicht. Der Windows-Server spricht (noch)...
  4. Support für Ubuntu 19.04 endet nächste Woche

    Support für Ubuntu 19.04 endet nächste Woche: Nutzer von Ubuntu 19.04 sollten spätestens in zwei Wochen über eine Migration ihrer Systeme nachdenken. Wie das Ubuntu-Projekt bekannt gab, endet...
  5. Support für Ubuntu 19.04 endet nächste Woche

    Support für Ubuntu 19.04 endet nächste Woche: Nutzer von Ubuntu 19.04 sollten spätestens in zwei Wochen über eine Migration ihrer Systeme nachdenken. Wie das Ubuntu-Projekt bekannt gab, endet...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden