pikapik Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 Hallo! Leider habe ich bisher noch nicht mit Linux/Unix gearbeitet, darum hoffe ich ihr könnt mir helfen. In einem ABAP Report rufe ich ein Skript auf, welches auf dem Server liegt. Über dieses Skript möchte ich einen Eintrag in eine Logdatei schreiben. Leider ist mir das bisher nicht gelungen. echo 'Hallo $1' >> /usr/***/testdat; Das ist der letzte Stand meiner bisherigen Versuche. Ich habe auch shcon diverse andere Schreibweisen ( " statt ' ) ausprobiert, aber leider ohne Erfolg. Ich hoffe ihr könnt mir helfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HELLmut Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 versuch mal > statt >> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pikapik Geschrieben 9. September 2003 Autor Teilen Geschrieben 9. September 2003 da passiert leider auch nichts. Außerdem würde doch dieser Befehl die Datei komplett überschreiben, oder? Stimmt denn bei meinem Befehl alles mit den Hochkommata und Semikolons etc. ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 echo "huhu" >> datei.x >> fügt die Ausgabe also huhu ans ENDE der Datei datei.x HINZU... such doch mal am Ende deiner Datei ob du die Zeile findest - bei vi z.B. gehst du mit groß G ans Ende. Du kannst statt " auch ' wenn du nur huhu schreibst brauchst du sogar überhaupt keine Hochkommata schreiben. Und selbst wenn es die Datei nicht gibt und du mit >> HINZUFÜGST, dann wird eine neue Datei angelegt. Was natürlich nicht klappt ist dein $1 - woher soll er es denn haben? Ach jetzt verstehe ich mehr - die echo Zeile ist in dem Skript??? Sorry stand auf dem Schlauch, obwohl es nicht gleich zu verstehen war! Wie sieht denn dein Skript weiter aus und wie rufst du es auf?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pikapik Geschrieben 9. September 2003 Autor Teilen Geschrieben 9. September 2003 Ich hab die Datei mit UltraEdit geöffnet, da steht nur das drin, was vorher schon drin war. Ich versteh´s nicht mehr. :confused: Vom meinem Report aus kann ich in die Datei was reinschreiben, über das Skript nicht.:confused: Das $1 gebe ich im Report mit. Aber ist auch nicht so wichtig. Das "Hallo" klappt ja leider auch schon nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 wie gesagt - Skript posten, sonst kann ich mir nicht vorstellen wo der Fehler liegt und wir rätseln noch Tage lang hier rum...wegen eventl. Kleinigkeiten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pikapik Geschrieben 9. September 2003 Autor Teilen Geschrieben 9. September 2003 Das Skript rufe ich im Report mit: CALL 'SYSTEM' ID 'COMMAND' FIELD h_script. auf. Wobe h_script den Pfad zum Skript und mit Leerzeichen getrennt noch weitere Variablen enthält (Benutzername, Datum, etc.) Ansonsten ist das Script ein Testscript, das einfach nur einen Eintrag in die Datei schreiben soll. #! /bin/ksh echo "hallo" >> /usr/***/testdat Ich hoffe das hilft zum verständnis Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pikapik Geschrieben 9. September 2003 Autor Teilen Geschrieben 9. September 2003 Achso: Was mir gerade noch so aufgefallen ist: Wenn ich das Skript direkt ausführe (nicht über den Report) bekomme ich die Meldung: "ShellExecute return 31" angezeigt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 ich hab jetzt mal so ein Skript bei mir erstellt - funzt wunderbar - sogar mit der ksh... Hoffentlich steht in deinem Skript nicht wirklich das hier als Verzeichnisangabe: *** ??? ist Absicht oder? und hast du das Skript ausführbar gemacht? chmod 755 skript.sh ???? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beko Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 ...hat das Script auch die erforderlichen Rechte für die Zieldatei? Edit: Blöd formuliert Hat der Prozess die Rechte in die Zieldatei zu schreiben? Angenommen die Datei ist für users auf readonly gesetzt und das Script läuft mit Userrechten => schlechte Karten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pikapik Geschrieben 9. September 2003 Autor Teilen Geschrieben 9. September 2003 Ja, danke für eure Hilfe!! Ich habe gerade mal einen Kollegen zu Hilfe geholt. Zum einen war das Skript nicht ausführbar gesetzt. (Wusste garnicht, dass ich auch daran denken sollte:rolleyes: ) Zum anderen hatte ich ein oder zwei Leerzeilen im skript vor dem "echo" die anscheinend fehlerhaft interpretiert wurden. also nochmals danke!!! :) PS: Die *** waren Absicht, stehen nicht wirklich da:) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 Leerzeilen vor dem echo - bringen Fehler??? Hattest du das Skript mit nem PC geschrieben und versucht unter Linux auszuführen?? DOS Formatierung und so oder wie jetzt? da hilft dir oft ein "od -c" Gut, wenns erledigt ist, dann passts ja jetzt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pikapik Geschrieben 9. September 2003 Autor Teilen Geschrieben 9. September 2003 Gerade hatte ich einen ähnlichen Fehler erneut. Anscheinend lag es nicht an den Leerzeichen. Bevor ich das Skript aufrufen, muss ich noch "sh " davorschreiben, sonst kann das nicht interpretiert werden. Aber jetzt geht´s wirklich:) Also nochmal danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 9. September 2003 Teilen Geschrieben 9. September 2003 das ist schwachsinnig! Warum schreibst du dann erst in dein Skript dass als Interpreter die ksh benutzt werden soll und dann setzt du bei aufrufen des Skriptes die sh davor??? Warum machst du nicht mal ein Testskript??? # Erstellung + Rechte setzen (in der Kommandozeile) touch meinskript.sh; chmod 755 !:$ Ist das Skript bzw. erstmal die Datei erstellt, dann schreibst du folgendes in die Datei "meinskript.sh": #! /bin/sh #(hier könntest du auch /bin/bash schreiben) echo "hallo $1" >> /var/usr/testdatei fertig, nun rufst du dein Skript erstmal in der !Kommandozeile! folgendermaßen auf: meinskript.sh huhu und nun zum kontrollieren - schaust du in die Datei /var/usr/testdatei. Nun müsste am ENDE der Datei, notfalls machst du einen "tail -100 /var/usr/testdatei | less", ein "hallo huhu" zu sehen sein. Wenn das jetzt nicht klappt dann weiß ich nicht mehr was du falsch machen kannst??? *grübel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.