Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Versteh ich nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.10.2002
    Ort
    Berlin
    Beiträge
    110

    Versteh ich nicht

    Hallo

    Ich habe ein kleines Scipt geschrieben. Das von der aktuellen Zeit(Minuten) die eingegeben Minuten dazu addiert.

    #!/bin/sh

    time=$(date "+%M")

    echo "Geben sie die Zeit ein: "

    read eingabe

    GZeit=`expr $eingabe + $time`

    echo $GZeit

    if [ "$GZeit" > "60" ]

    then

    GZeit=`expr $GZeit - 60`

    fi

    echo $GZeit

    exit 1
    Was ich nicht verstehe ist das auch ein negativer wert dabei rauskommen kann. Da ich ja die Bedingung if $GZeit > 60. Scheinbar wird das ignoriert. Oder liegt es daran das die Variable einfach überschrieben wird.

    MfG
    Klaus

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    naja. du vergleichst Strings, und nicht Zahlen. Und das Problem dabei ist, dass der String 7 groesser ist als der String 60

    mfg

    c.

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Du kannst das addieren auch date überlassen.

    zB
    #> date
    #> date -d +5min

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer Avatar von Hans-Georg Normann
    Registriert seit
    04.03.2000
    Ort
    Uetersen
    Beiträge
    571
    Original geschrieben von sagi
    naja. du vergleichst Strings, und nicht Zahlen. Und das Problem dabei ist, dass der String 7 groesser ist als der String 60

    mfg

    c.
    dan sollten wir aber noch verraten, dass if [ $GZeit -gt 60 ] für Zhalenvergleiche genommen wird. Näheres siehe man test
    333 Mhz, 466 MHz, neee, ich hab was neues zuhause.....

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    Näheres siehe man test
    naja. da auf den meisten GNU/Linux Systemen sh nur ein alias fuer die bash ist stimmt das nicht ganz, da dort test (bzw [ ) shell builtins sind.

    Die richtige Adresse hierfuer ist der "Advanced Bash Scripting Guide":
    http://www.tldp.org/LDP/abs/html/testconstructs.html

    mfg

    c.

  6. #6
    Registrierter Benutzer Avatar von Hans-Georg Normann
    Registriert seit
    04.03.2000
    Ort
    Uetersen
    Beiträge
    571
    Alles richtig, aber Klaus Harrer ist offensichtlich (noch) nicht der Meister aller Klassen. Lieber erst einmal langsam an das Thema heranführen mit man test

    Das mit den buildins und advanced Bash Scripting Guide ist ja auch nicht verkehrt, aber wohl doch ein bisschen sehr heftig, wenn's nur um eine Funktion geht. Als weiterführenden Hinweis nehme ich das allerdings geren auf.
    333 Mhz, 466 MHz, neee, ich hab was neues zuhause.....

  7. #7
    Registrierter Benutzer
    Registriert seit
    09.10.2002
    Ort
    Berlin
    Beiträge
    110

    Danke an alle

    Hallo

    Danke für eure schnelle Hilfe.

    MfG
    Klaus

  8. #8
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Bidde in Zukunft Code-Tags verwenden. Danke! (Das # in der Posting-Toolbar bzw [ code ] und [ / code ])

    Danke!

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

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