Zum Inhalt springen

Umleitung Ausgabe in Datei


pikapik

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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??

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

...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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...