Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Bash ausser Kontrolle???

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.04.1999
    Ort
    Rheinstetten
    Beiträge
    122

    Question Bash ausser Kontrolle???

    Tja, jetzt bin ich etwas ratlos...

    Plötzlich bekomme ich in Shell-Scripten bei folgendem immer die Fehlermeldung "Command not found...".

    Code:
    SV1="irgend ein string"
    SV2="noch ein string"
    
    if [ "$SV1" = "$SV2" ]; then
    # hier wird irgend was getan
    fi
    Statt also einen String-Verlgeich zu machen, wird $SV1 und $SV2 als Kommando interpretiert.
    Hat jemand eine Ahnung woran das liegen könnte???

    Robert

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.10.1999
    Beiträge
    61

    Post

    Hi

    Robert, korregier mich wenn ich falsch liege. Aber führt if [ "$SV1" = "$SV2" ]; nicht eine Zuweisung aus. Und der Vergleich müßte mit == geschrieben
    werden ?

    Gruss
    Christoph


  3. #3
    Backi
    Gast

    Post

    @Christoph: Das ist schon richtig so. bash != C

    @robert: Bei mir (RH 6.2, bash 1.14.7) klappt das ohne Probleme. Welche bash setzt Du ein? Gibt which SV oder locate SV irgend etwas sinnvolles aus?

    Gruß,
    Backi

  4. #4
    blackbird
    Gast

    Post

    hi robert!

    schreib hier zwar wieder was was vermutlich nicht wirklich direkt zur lösung beiträgt, aber wer weiss..

    bei mir klappts auch einwandfrei, unter suse 6.0 bash 2.02.1(1) i686

    grüsse blackbird

  5. #5
    Registrierter Benutzer
    Registriert seit
    13.04.1999
    Ort
    Rheinstetten
    Beiträge
    122

    Angry

    Ich hab den Fehler gefunden...

    Und wie üblich sitzt der Teufel im Detail.

    Es lag gar nicht direkt an der If-Anweisung, sondern schon an den Zuweisungen an die Variablen direkt vor der If-Anweisung.

    Durch einen Fehler wurden bei einer globalen Ersetzungsroutine, welche eigentlich etwas anderes ersetzen sollte, alle "=" Zeichen durch " = " ersetzt. Soll heißen, vor und nach dem "=" war ein Leerzeichen. In dem Moment wird die Zuweisung an die Variablen natürlich falsch interpretiert.
    Probiert es mal selber aus, setzt bei einer Variablenzuweisung vor und nach dem "=" Zeichen ein Leerzeichen.

    Dumm gelaufen... :-)

    Robert

Lesezeichen

Berechtigungen

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