Anzeige:
Ergebnis 1 bis 3 von 3

Thema: False oder True sichtbar ?

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38

    False oder True sichtbar ?

    Hi ich bin gerade am bastel für eine automatische abschaltung meines Server.
    Die eine Bedingung , habe ich schon fertig bekommen.
    Es soll kein User angemeldet sein.

    #!/bin/sh
    users >user
    echo "erstelle neue user-Datei"
    anzahl=$(wc -w user | sed s/user//)
    echo "erstelle anzahl"
    if [ $anzahl -gt 0 ]; then server=$(true)
    echo "anzahl der User $anzahl"
    exit 0
    fi

    Die zweite ist , das der Client (windose) nicht online sein darf. Könnte ja sein der Sohn saugt wierder mal

    Nun meine Frage
    Wenn ich den $rechner ein Warheitsgehalt mit gebe (true oder false)
    ist das mit echo sichtbar ? Das selbe gilt natürlich für $server im ersten Teil.
    Oder funzt das so nicht.


    #!/bin/sh
    client1=$(ping -c 1 192.168.11.1 | grep from | cut -d : -f 1 | cut -b1-2)
    echo $client1
    if [ $client1 <> 64 ] ;then rechner=$(false)
    echo $rechner
    exit 0
    fi


    Die beiden Teile , also $rechner und $server wollte ich dann noch vergleichen und daraus das halt starten.
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.12.1999
    Ort
    Stuttgart
    Beiträge
    259

    Re: False oder True sichtbar ?

    Hi Sachse,

    Original geschrieben von Sachse
    Nun meine Frage
    Wenn ich den $rechner ein Warheitsgehalt mit gebe (true oder false)
    ist das mit echo sichtbar ? Das selbe gilt natürlich für $server im ersten Teil.
    Oder funzt das so nicht.
    Nein, das echo ist nicht sichtbar. Ist es nötig, dass es insgesamt 3 Skripte sind oder kannst Du das auch in eines packen ? Dann könntest Du es z.B. so versuchen:

    Code:
    #!/bin/bash
    
    function user () {
      users > user 
      echo "erstelle neue user-Datei" 
      anzahl=$(wc -w user | sed s/user//) 
      if [ $anzahl -gt 0 ]; then 
        echo true; 
      else
        echo false;
      fi 
    }
    
    function host () {
      client1=$(ping -c 1 192.168.11.1 | grep from | cut -d : -f 1 | cut -b1-2) 
      if [ $client1 <> 64 ] ; then 
        echo false; 
      else
        echo true;
      fi 
    }
    
    if ! $(user) && ! $(host); then
      halt
    fi
    
    exit 0
    Weitere Möglichkeit:

    Code:
    #!/bin/bash
    #
    # Ausgabe von users in einem Array speichern
    #
    users=( $(users)  )
    host=$(ping -c 1 -w 5 192.168.11.1 2>&1 > /dev/null)
    
    #
    # Wenn der Rückgabewert von ping != 0 ist und das Array
    # keine Elemente besitzt, Rechner runterfahren
    #
    if [ $? -ne 0 -a ${#users[*]} -eq 0 ]; then
      /sbin/halt
    fi
    
    exit 0;
    Gruß micha
    IRC: irc.euirc.net #tux

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    Danke Micha,

    Vielen dank für deine Tipps. Wie ich sehe führen viele Wege nach Rom.
    Das sind meine ersten Gehversuche mit Script.
    Wenn man da einmal Blut geleckt hat kommt man nicht mehr los.


    Werd ich heute noch testen.
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •