gzip -t im Skript nicht ausführbar

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von davinci80, 03.05.2007.

  1. #1 davinci80, 03.05.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    hallo zusammen,

    habe ein Problem mit dem Befehl "gzip -t"
    wenn ich den Befehl auf dem UNIX-Terminal direkt ausführe, Bsp.:
    gzip -t 123.log.gz kommt der korrekte Wert zurück,
    sobald ich den Befehl über einen Skript ausführen lasse,
    bekomme ich folgende Fehlermeldung:

    gzip: compressed data not read from a terminal. Use -f to force decompression.
    For help, type: gzip -h

    Wie kann ich den Befehl Skript-tauglich machen?!

    Danke!
     
  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 supersucker, 03.05.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Und wieder mal:

    Welches OS?
    Welche Shell?

    Ist das so schwer?

    Und nein, es gibt schon lange kein Unix mehr in diesem Sinne..........
     
  4. #3 Fallout, 03.05.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    Hoert sich schwer danach an, dass Du Deinem gzip im script keine Datei mitgegeben hast. Das wird nicht selten durch (versehentliche) null-Variablen fuer die zu verwendende Dateien verursacht, aber dazu muessten wir Dein Script bzw. den entsprechenden Abschnitt sehen und ggf. Dein OS/Shell kennen.

    Gruss Daniel
     
  5. #4 davinci80, 03.05.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    Hier die Daten:

    Shell: GNU bash, version 2.03.0(1)-release (sparc-sun-solaris)
    OS: SunOS 5.8
     
  6. #5 Wolfgang, 03.05.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wie schon beim letzten Thread von dir:

    Stell bitte eine konkrete Frage mit konkretem Beispiel.
    Und lies bitte bitte die Manpage zu deinen verwendeten Programmen.
    Auch wenn dein Riesenprojekt so geheimnisvoll ist, es führt kein Weg daran vorbei konkrete Fragen mit den zugehörigen Infos zu stellen.

    Abstrakte Fragen führen zu abstrakten Antworten.

    Auf deine Frage bezogen würde ich sagen, dein Skript ist fehlerhaft.

    Wenn dir diese Auskunft genügt, dann kannst du es ja dabei belassen.

    Gruß Wolfgang
    PS Ich hoffe du kommst jetzt nicht wieder mit den bereits so ausführlich durchgekauten Scriptversuch vom letzten Thread.
     
  7. #6 davinci80, 03.05.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    gzip -t Dateiname.gz

    ...Was zum Kuckuck ist an meinen Fragen so schwer zu vertehen Verdammt?!!??

    Noch mal!
    wenn ich auf der UNIX-Oberfläche den Befehl gzip -t Dateiname.gz eingebe,
    kommt der korrekte Wert zurück, nämlich 0.

    Gebe ich einen Dateinamen ein, der nicht mit "gz" endet,
    kommt eine 1 als Rückgabewert raus, WAS ABSOLUT korrekt ist!

    Aber sobald dieser Befehl in einem Skript niedergeschrieben worden ist,
    und ich ihn ausführe, kommt die Fehlermeldung (siehe erster Eintrag von mir)?!?!

    WAS IST SO SCHWER ZU VERSTEHEN DARAN?!?!?

    Ganz einfach, der Befehl funktioniert nicht wenn er per Skript ausgeführt wird,
    gibt man es manuell auf der UNIX-Oberfläche ein, funktioniert es. :headup:

    Noch genauer geht es nicht!
     
  8. #7 gropiuskalle, 03.05.2007
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    Na wenn das nicht so schwer ist, wieso fragst Du dann?

    Okay!

    Gewöhn Dir mal richtige Bezeichnungen an; Unix existiert in diesem Sinne einerseits nicht mehr, andererseits gibt es zahlreiche unixoide Varianten, die Du etwas genauer spezifizieren musst, damit man überhaupt weiß, in welcher Umgebung Du arbeitest.

    Das wurde bereits verstanden, aber die verwendete shell könntest Du uns doch noch freundlicherweise mitteilen, das verwendete Betriebssystem wäre auch noch sehr interessant.

    Schrei'n se mal nich so 'rum hier!

    Na da gibt es aber wirklich noch so manche Variable. Das ist wie 'Mein Kraftfahrzeug lässt sich nicht starten! Was für Infos braucht man denn noch, um die Dreckskiste anzuwerfen?' oder so.

    Na! Eventuell aber vielleicht doch.
     
  9. #8 Wolfgang, 03.05.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Und die Antwort hast du auch schon.
    Dein Script ist fehlerhaft

    Welchen Fehler es hat kann keiner sagen, ohne es gesehen zu haben.

    Was ist daran so schwer zu verstehen?

    Wolfgang
     
  10. #9 Fallout, 03.05.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Komm' mal wieder runter, davinci80.

    gzip -t <dateiname> funktioniert in der konsole.

    Und jetzt kommt der springende Punkt, den Wolfgang und auch ich schon bei Dir bemaengelt haben: ich sehe in meine Glaskugel und unterstelle Dir jetzt einfach mal ganz frech:

    Du hast in Deinem Skript etwas wie
    Code:
    if [ $([b]gzip -t $DATEI[/b] 2>/dev/null) ]; then echo 'hat funktioniert'; fi
    stehen.
    Und nun unterstelle ich Dir weiter, dass Du die Variable $DATEI vor Deinem gzip-Aufruf falsch bzw. gar nicht gesetzt hast.
    Dann interpretiert Dein Skript das genau so:
    Code:
    if [ $([b]gzip -t[/b] 2>/dev/null) ]; then echo 'hat funktioniert'; fi
    Und das wiederum interpretiert gzip so, dass er die zu komprimierenden Daten aus STDIN nehmen soll - was im Regelfall Dein Terminal ist.
    Vergleiche Deinen Fehler mal mit der reinen Eingabe von
    Code:
    gzip -t
    in Deiner Konsole.

    Was, ich liege falsch? Och schade, naechster bitte raten... aber genau dazu haben wir hier eigentlich gar keine Lust!

    Gruss Daniel
     
  11. #10 supersucker, 03.05.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Code:
    wenn ich auf der UNIX-Oberfläche
    Du hast immer noch nicht kapiert, das es keine "Unix-Oberfläche" gibt, oder?

    Im Übrigen: Wenn ich sowenig Ahnung wie du habe, würde ich mal das Maul nicht so weit aufreißen.

    Aber bei dem Ton hat sich die Hilfe eh erledigt.
     
  12. #11 davinci80, 03.05.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    gzip -t

    Hallo,

    nein, ich habe nur dort stehen:

    read Dateiname

    gzip -t $Dateiname

    echo "$?"

    Auf der UNIX-Konsole funktioniert es wunderbar.
    Im Skript nicht.
     
  13. #12 Fallout, 03.05.2007
    Zuletzt bearbeitet: 03.05.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    Und Du gibst bei der Abfrage einen (gueltigen) Dateinnamen ein?
    Die Variablennamen sind auch wirklich identisch und enthalten keinen Tippfehler?

    Lass Dir mal noch vor dem gzip-Befehl zu debug-Zwecken den Inhalt der Variablen mit
    Code:
    echo "Dateiname: $Dateiname"
    anzeigen (am besten den Variablennamen vom gzip-Aufruf dort hinkopieren), ob sie auch wirklich richtig gesetzt ist.

    Etwas anderes kann ich mir - besonders bei dieser Fehlermeldung - nicht vorstellen. Zumindest funktioniert es bei meinem SuSE einwandfrei. Keine Ahnung, ob in diesem Bezug Solaris auch seine Eigenheiten hat, glaube es aber kaum.

    Gruss Daniel
     
  14. #13 Wolfgang, 03.05.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Man sollte sich angewöhnen in Scripten bei Dateiarbeit immer mit diversen test zu arbeiten.

    Code:
    
     # -f abhängig von deiner Version. 
    # Für den richtigen Parameter selbst nachsehen.
    if [ -f  "$DATEINAME"  ];then
    gzip -t "$DATEINAME";
    else 
    ...
    fi
    
     
  15. Anzeige

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

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    [Schallplatten-Modus]Ah. Welche Unix-Konsole verwendest Du denn?[/Schallplatten-Modus]
     
  17. #15 Wolfgang, 03.05.2007
    Wolfgang

    Wolfgang Foren Gott

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


    Zumindest laut online-Manpage sollte der Testparameter -f richtig sein.

    Wolfgang
     
Thema:

gzip -t im Skript nicht ausführbar

Die Seite wird geladen...

gzip -t im Skript nicht ausführbar - Ähnliche Themen

  1. Gzip 1.7 freigegeben

    Gzip 1.7 freigegeben: Knapp drei Jahre nach der letzten stabilen Version wurde gzip in einer neuen Hauptversion veröffentlicht. Neu in der aktuellen Version 1.7 des...
  2. tar in Verbindung mit gzip und tee

    tar in Verbindung mit gzip und tee: Hallo! Ich schaffe es partout nicht ein tar-Archiv zu erstellen, gleichzeitig mit "gzip" zu packen und mein eigentliches Problem eine Logdatei...
  3. Gzip decompress an tar übergeben

    Gzip decompress an tar übergeben: Ich würd gern beim entpacken eines .tgz files etwas Zeit sparen und das von gzip dekomprimierte .tar file direkt an tar übergeben. Also so z.b.:...
  4. Festplattenimage // gzip

    Festplattenimage // gzip: Hallo, Ich bin absoluter Neuling auf dem Gebiet. Ich benötige die Lösung der Aufgabe für meine Arbeit, habe aber leider keine Ahnung davon....
  5. Gzip gepackte Datei "wiederherstellen"

    Gzip gepackte Datei "wiederherstellen": Hallo, ich habe eine Gzip gepackte Datei (MySQL Backup) welche im gepackten zustand ~1,13 GB groß ist. Und im entpackten Zustand ca 14GB....