Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Mit IF Anweisung Parameter prüfen

  1. #1
    SaDDaM123
    Gast

    Post Mit IF Anweisung Parameter prüfen

    Hallo...ich hab mir ein ganz kleines Script gemacht für den HL Server

    --#!/bin/sh

    screen -A -m -d -S csserv ./hlds_run -game cstrike -nomaster +sv_lan 1 +maxplayers $1 +map $2
    sleep 1
    screen -r csserv
    --

    So..da ist es
    Das starte ich mit './lanserv.sh 12 de_dust'

    So...wenn man jetzt aber die Parameter vergisst..is das ja doof

    JEtzt wollte ich in dem Script ne kleine IF Abfrage einbauen.
    Aber so wie ich mir das dachte..klappt es leider nicht

    #!/bin/sh

    if (($1 <> 0) &#0124;&#0124; ($2 <> 0))
    screen -A -m -d -S csserv ./hlds_run -game cstrike -nomaster +sv_lan 1 +maxplayers $1 +map $2
    sleep 1
    screen -r csserv
    else
    echo 'fehler'
    So...wenn ich das aber ausführe..kommt ein Fehler

    Kann mir da jemand bei helfen?

    Danke schonmal

  2. #2
    Registrierter Benutzer
    Registriert seit
    10.05.2001
    Ort
    A-1210 Wien
    Beiträge
    20

    Post

    Ja, welcher Fehler kommt denn dann?
    "Never surf faster, than your guardian penguin can fly!"

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.10.1999
    Ort
    Dresden
    Beiträge
    255

    Post

    Nana, das hat aber gar nix mit Bashsyntax gemein

    if [ "$#" -lt 2 ]; then
    echo "Skript erwartet mindestens 2 Argumente"
    exit 1
    fi
    ...


    Schau mal in die Linuxfibel unter Shells, Bashprogrammierung. Dort gehts ausführlich ums Debuggen und Auswerten von Parametern...

    Thomas

  4. #4
    SaDDaM123
    Gast

    Post

    Hmm..danke..ich werd mal gucken in der linuxfiebel..hab ich gestern zwar schon..aber so auf die schnelle überflogen hab ich nix vonner IF Anweisung gefunden.

    Na ja..ich dachte mir...versuch es einfach mal mit C Syntax :BD

  5. #5
    Senior Mitglied
    Registriert seit
    23.08.1999
    Beiträge
    132

    Post

    Zu deinem ersten Beispiel:

    Fuer den Vergleich nimm lieber thommy's beispiel.

    Diese Klammern (( ... )) sind zum rechnen da!
    zum vergleichen diese [ ... ]

    Bei deiner if hast du das abschliessende fi vergessen, also:
    if [ there_is_a_hole_in_the_ship ]
    then we_sink
    else we_paddel_to_amerika
    fi

    Das logische oder &#0124;&#0124; passt da bei dir auch nicht so recht rein.
    ein Beispiel:
    kill -15 &#0124;&#0124; kill -7 &#0124;&#0124; kill -9
    Wenn der erste kill(Bitte beenden) nicht geht dann der zweite(simulierter Hardwareerror), wenn der nicht geht der dritte(bedingungsloser kill)

    du muesstest das logische und && verwenden.

    Gruß Tobias

    [ 27. Juli 2001: Beitrag editiert von: mightymike99 ]

  6. #6
    SaDDaM123
    Gast

    Post

    Achsooo..na ja...ich habs jetzt mit dem Beispiel von Tommy gemacht..luppt alles super...bei der linuxfibel hab ich wohl echt den Teil mit der IF Anweisung übersehen..sowas dummes aber auch

Lesezeichen

Berechtigungen

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