Inhalt einer Variablen aus Batch an Shellscript übergeben

L

Lilly

Grünschnabel
Hallo,

ich komme einfach nicht drauf. Wie kann ich den Wert aus einer Variablen eines Batches an mein Shellscript übergeben?

So?
# Parameter:
VARIABLENNAME="$1"

Oder so?
#Inhalt der Variablen einlesen
value=$VARIABLENNAME
$ echo "$VARIABLENNAME"

Oder gar so?
${VARIABLENNAME}

Anschließend möchte ich das aktuelle Datum minus 3 Monate errechnen, so dass als Ergebnis YYYY-MM ausgegeben wird.

Und letztlich soll dann nach diesem String YYYY-MM im Inhalt der zuvor eingegebenen Variablen gesucht werden und die gefunden Zeilen gelöscht werden.

Das ist gleich ein bisschen viel, aber ich bin für jeden Hinweis dankbar ?( .

Vielen Dank und schöne Grüße
Lilly
 
ich komme einfach nicht drauf. Wie kann ich den Wert aus einer Variablen eines Batches an mein Shellscript übergeben?
?? Meinst Du eine Windows-Batchdatei?

Anschließend möchte ich das aktuelle Datum minus 3 Monate errechnen, so dass als Ergebnis YYYY-MM ausgegeben wird.
Code:
date -d -3months +%Y-%m

Und letztlich soll dann nach diesem String YYYY-MM im Inhalt der zuvor eingegebenen Variablen gesucht werden und die gefunden Zeilen gelöscht werden.
Die Variable von Oben hat mehrere Zeilen?
 
Hallo Spröde,

vielen Dank für Deine Antwort.

Ich habe eine Oracle-Datenbank und dorf laufen Batches zur Output-Erstellung. Und in einem dieser Batches lese ich eine Statistikdatei ein, die jeden Monat fortgeschrieben wird mit +n-Zeilen. Der Inhalt der Datei steht dann in einer Variablen im Batch. Ich möchte diesen Inhalt aber gern an das Shellscript übergeben. Nur wie stelle ich das an?

Oder sage ich dem Script einfach nur, wo die Datei im System liegt?

Danke und Grüße
Lilly
 
Zuletzt bearbeitet:
Ich begreife immer noch nicht, was eine Batch-Variable mit einem Shellscript zu tun haben soll. :think:

Kann es sein, dass Du die Statistikdatei mit einem Shellscript bearbeiten willst? Wenn ja, kannst Du es mit folgendem Scriptchen machen, das das Ergebnis vorerst auf dem Terminal ausgibt, ohne die Datei zu verändern.
Code:
#!/bin/bash

grep -v "$(date -d -3months +%Y-%m)" "PFAD_UND_NAME_DER_DATEI"
PFAD_UND_NAME_DER_DATEI musst Du entsprechend ersetzen.
 
Zurück
Oben