Bash-Script läuft unter SuSE 7.0 aber nicht unter 8.0

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von M-Grulich, 13.07.2006.

  1. #1 M-Grulich, 13.07.2006
    Zuletzt bearbeitet: 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    Bash-Script läuft unter SuSE 7.0 aber nicht unter 8.1

    Hi Leute,

    ich habe ein recht unfangreiches Bash-Script geschrieben.
    Dieses läuft auf der SuSE 7.0 einwandfrei, doch auf der 8.1 gibt es Probleme.
    Ist da was näheres bekannt, das das da Probleme gibt, wenn ja waoran liegt das und wie kann ich das umgehen/beheben ?

    danke schonmal.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 13.07.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Ich kenne dein Skript nicht und hatte/habe keine suse, deshalb kann ich nur spekulieren.

    Welche Fehlerausgabe bekommst du denn?
    Es gibt verschiedene Gründe, die zu Fehlern führen können.
    Da kommen sowohl Pfade, als auch Versionen der verwendeten Utilitys in Frage.
    Mit diesen fehlenden Informationen über Fehelerausgaben und Fehlerart kann man dazu leider nichts hilfreiches sagen.

    Gruß Wolfgang
     
  4. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    Fehlermeldungen?
    Was für Befehle melden denn einen Fehler?

    Bitte mehr Infos wenn du wirklich Hilfe suchst!
     
  5. JoBi

    JoBi Eroberer

    Dabei seit:
    17.07.2003
    Beiträge:
    63
    Zustimmungen:
    0
    Ort:
    Regensburg
    Setze doch mal vor deine Problemstelle
    set -xv

    das liefert dir etwas mehr Informationen zum Debuggen.

    Gruß, Jobi
     
  6. #5 M-Grulich, 13.07.2006
    Zuletzt bearbeitet: 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    Erstmal danke für die schnellen antworten, ... nur das Problem ist folgendes:

    [​IMG]Es gibt keine Fehlermeldungen ![​IMG]

    Das ist ein Script was ein paar sachen aus einer Datei ausliest und ein paar sachen ummodelt und dann wieder ausgibt, mit der SuSE 7.0 geht das auch noch . nur mit den selben datei vom selben ort aus geht es mit der 8.1 nicht, es kommen ganz einfach keine Ausgaben.

    Auf der SuSE 7.0 kommen die erwarteten Ausgaben noch nur bei der 8.1 kommen halt einfach keine.

    Gibts noch mehr Ideen ?
     
  7. #6 Wolfgang, 13.07.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wenn es ohne Fehlerausgabe zu keinem Ergebnis kommt, dann ist der Code ohnehin nicht gerade optimal.
    Lösung: Bau an den fehlerträchtigen Stellen Fehlerausgaben ein.
    Das sind z.B. test auf Existens von Dateien/Daten , Fallunterscheidungen usw.

    Gruß Wolfgang
     
  8. #7 M-Grulich, 13.07.2006
    Zuletzt bearbeitet: 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    Da ich nur eine Datei ausser dem Script benutze und das nur ganz simple an das Script übergebe kann ich das Fehlen von Dateien ausschließen.

    7.0:
    Code:
    testteam@test01:/import/testumgebung/ > ./test-configer < test_daten
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    DATEN/DATEN/DATEN/DATEN
    8.1:
    Code:
    testteam@test02:/import/testumgebung/ > ./test-configer < test_daten
    und wie gesagt, prinzipiell führe ich beides vom gleichen ort aus, auch wenn das verschiedene Rechner sind.
    Darum verstehe ich nicht, warum nichtmal Fehlermeldungen kommen.
     
  9. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Hast Du JoBis Tipp ausprobiert?
     
  10. #9 M-Grulich, 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    Ja, ich habe auch noch zusätzlich Debugausgaben bezüglich der Variablen eingebaut, die Variablen enthalten auch alle Brav die Inhalte die sie haben sollten.

    Inzwischen vermute ich das es mit meiner while-schleife zusammenhängt, weiss aber nicht woran es da hängt.

    der Anfang der einen Funktion sieht folgendermaßen aus:
    Code:
    function counterprint()
    {
    echo "function counterprint"
       export COUNT=0
       while [ $COUNT -lt $AMOUNT ]; do
    
       export BITREST=$((AMOUNT -$COUNT))
       export BREITEFLAG=1bit
    echo "8bit-Check"
    wie ich darauf komme schließe ich aus folgendem:
    und zwar wird das function counterprint (echo "function counterprint") noch ausgegeben, das 8bit-Check (echo "8bit-Check") jedoch nicht mehr !
     
  11. JoBi

    JoBi Eroberer

    Dabei seit:
    17.07.2003
    Beiträge:
    63
    Zustimmungen:
    0
    Ort:
    Regensburg
    hast du auch Test-daten in test_daten auf deiner 8.0 Installation?

    Ich habe auch schon Pferde kotzen sehen ;-)

    Apropos: wo ist dein done?
     
  12. #11 M-Grulich, 13.07.2006
    Zuletzt bearbeitet: 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    Ja, wie schon gesagt, es ist ein und die Selbe Datei bei beiden Rechnern, die über nfs auf beiden Kisten jeweils in das gleiche Verzeichnis gemountet werden.

    also gleiche Datein und gleicher Inhalt, nur das auf dem 8.1 Rechner nichts Ausgegeben wird. (womit wir wieder am Anfang währen)

    was das done angeht, das ist nur der Anfang der funktion und while schleife, also nicht komplett. das kommt noch ein weilchen später.
    ich kann den Code leider nicht komplett weil mir dann das Board hier meldet, das ich zuviele Grafiken verwenden würde.
     
  13. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Sollte da nicht

    Code:
    $(([B]$[/B]AMOUNT-$COUNT))
    stehen? Wie gross ist $AMOUNT?
     
  14. #13 M-Grulich, 13.07.2006
    Zuletzt bearbeitet: 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    es ist egal ob man nun $((AMOUNT-$COUNT)) schreibt oder
    $(($AMOUNT-$COUNT))

    wenn man diesen ausdruck hat, kann man bei der ersten Variable das $ weglassen.

    Was den Wert von Amount angeht, der ist komischerweise 0,
    könnte das Problem sein, ich untersuche erstmal in die Richtung !
    --

    EDIT: Aktueller Stand der Untersuchung:
    Aus meinem String den ich auslese wird mir auf der 8.1 Kiste irgendwann die letzte Zahl (AMOUNT) entfernt, darum ist AMOUNT zum beginn der while Schleife 0.
    Nur weiss ich noch nicht woran es liegt, denn auf der 7.0 Kiste tut er das nicht. Untersuchungen gehen weiter.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 Wolfgang, 13.07.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Sorry, mit solchen Fragmenten kann wohl kaum jemand etwas Sinnvolles dazu sagen.

    Deaktiviere beim Posten mal die Smilies.
    [x]Grafische Smileys deaktivieren

    In erster Linie musst du dich halt Stück für Stück da durch debuggen.
    Wenn der Code von dir selbst ist (so schriebst du ja), weisst du selbst am besten was wo passiert.

    Bau dir echo $VAR an allen Stellen ein und hop da mit set -x durch.
    Viel Glück
    Du bist dir sicher, dass die Daten lesbar vorliegen?

    Gruß Wolfgang
     
  17. #15 M-Grulich, 13.07.2006
    M-Grulich

    M-Grulich Jungspund

    Dabei seit:
    02.08.2004
    Beiträge:
    23
    Zustimmungen:
    0
    Also, ... Problem gefunden !

    in dem Script ermittle ich die Länge der Zeile und prüfe ob das erste Zeichen ein leerzeichen ist, und wenn das so ist setze ich die Variable ohne leerzeichen neu.

    Code:
    LAENGE=${#LINE}
          LINE=${LINE:1:$LAENGE}
    Nur ist auf der 7.0 mein String 24 Zeichen lang, wie ich es erwarten würde, weils einfach so ist.
    Jedoch ist auf der 8.1 mein String dort statt 24, 23 Zeichen lang, was meinen String immer am Ende verkürzt.

    Bugfixx ist ganz einfach:
    Code:
    LINE=${LINE:1}
    einfach auf die ermittlung der Länge scheissen !

    trotzdem Danke für eure Hilfe
     
Thema:

Bash-Script läuft unter SuSE 7.0 aber nicht unter 8.0

Die Seite wird geladen...

Bash-Script läuft unter SuSE 7.0 aber nicht unter 8.0 - Ähnliche Themen

  1. CSV-Datei mit einem Bash-Script erstellen

    CSV-Datei mit einem Bash-Script erstellen: Hallo, Ich stehe unerfreulicherweise vor einem kleinen Problem ^^ Ich soll mittels eines Bash-Scriptes eine CSV-Datei erstellen, die jeweils in...
  2. Mehrere CSV zu einer addieren mit Bash-Scripting

    Mehrere CSV zu einer addieren mit Bash-Scripting: Hallo, Ich habe mehrere CSV-Dateien mit identischer Struktur, nur die Werte unterscheiden sich. Sie sollen miteinander addiert werden und eine...
  3. [Suche] - Hilfe bei der Überarbeitung eines bash-Scripts

    [Suche] - Hilfe bei der Überarbeitung eines bash-Scripts: Guten Tag allerseits, ich suche verzweifelt nach einer Lösung für mein Problem. Meine Zielsetzung ist wie folgt: Ich möchte in einem...
  4. Bash-Script mit Wget und Statusanzeige

    Bash-Script mit Wget und Statusanzeige: Hallo Leute, als erstes möchte ich Euch sagen, das ich ein Neuling ind der Bashprogrammierung bin. Ich schreibe gerade ein kleines Script,...
  5. simples BASH-Script

    simples BASH-Script: Juten Avend miteinander... ...ich hätte da gern mal ein Problem ! ?( Im Moment sitze ich hier mit nem völlig leeren Kopf und überlege, wie...