Shell und Perl Script mit Parameter starten
Moin,
ich habe ein Shell und ein Perl Skript. Die Grundlegende Idee ist,
das Shell Skript bekommt beim Aufruf den Namen einer Logfile übergeben,
bearbeitet die Logfile, speichert das Ergebnis in einer neuen Datei und
ruft dann das Perl Skript auf und übergibt als Parameter die neue Datei
bzw dessen Namen.
Das Shell Skript wird durch einen Cron job jeden Abend/Morgen um
24 Uhr oder kurz davor mit der Logfile des Tages Aufgerufen. Das ganze
ist für Statistische Zwecke.
Ich habe das Perl und das Shell Skript Programmiert. Bis jetzt ist aber
im Shell und Perl Skript jeweils die benötigte Datei hart gecoded, was
wenig sinn macht.
Meine Fragen:
Wie übergebe ich meinem Shell Script einen Parameter?
Wie Speicher ich den Parameter in eine Variable?
Wie rufe ich aus dem Shell Skript mein Perl Skript mit Übergabeparamter auf?
Wie speicher ich den Übergabeparameter?
Viele Grüße
Maveric
ich habe ein Shell und ein Perl Skript. Die Grundlegende Idee ist,
das Shell Skript bekommt beim Aufruf den Namen einer Logfile übergeben,
bearbeitet die Logfile, speichert das Ergebnis in einer neuen Datei und
ruft dann das Perl Skript auf und übergibt als Parameter die neue Datei
bzw dessen Namen.
Das Shell Skript wird durch einen Cron job jeden Abend/Morgen um
24 Uhr oder kurz davor mit der Logfile des Tages Aufgerufen. Das ganze
ist für Statistische Zwecke.
Ich habe das Perl und das Shell Skript Programmiert. Bis jetzt ist aber
im Shell und Perl Skript jeweils die benötigte Datei hart gecoded, was
wenig sinn macht.
Meine Fragen:
Wie übergebe ich meinem Shell Script einen Parameter?
Wie Speicher ich den Parameter in eine Variable?
Wie rufe ich aus dem Shell Skript mein Perl Skript mit Übergabeparamter auf?
Wie speicher ich den Übergabeparameter?
Viele Grüße
Maveric
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197163
Url: https://administrator.de/forum/shell-und-perl-script-mit-parameter-starten-197163.html
Ausgedruckt am: 23.12.2024 um 09:12 Uhr
5 Kommentare
Neuester Kommentar
www.gidf.de erster Treffer ;)
http://www.perl-community.de/bat/poard/thread/11854
Hoffe das hilft Dir! Lg
http://www.perl-community.de/bat/poard/thread/11854
Hoffe das hilft Dir! Lg
Hallo Maveric,
allgemein ist es in der Shell so, das die Kommandozeilenparameter $1, $2, $3 usw. sind. Damit kannst Du mehrere Parameter nacheinander abarbeiten (falls erforderlich).
Übrigens ist $0 der Name des Skripts.
Bei Perl sind die Kommandozeilenparameter im Vektor @argv gespeichert. Sie lassen sich ansprechen z.B. hierbei werden die Parameter aber ab 0 nummeriert, also $ARGV, $ARGV[1] usw.
Darf ich mal fragen, wieso Du zwei Skripten brauchst und nicht gleich alles mit Perl machst?
Markus
allgemein ist es in der Shell so, das die Kommandozeilenparameter $1, $2, $3 usw. sind. Damit kannst Du mehrere Parameter nacheinander abarbeiten (falls erforderlich).
Übrigens ist $0 der Name des Skripts.
Bei Perl sind die Kommandozeilenparameter im Vektor @argv gespeichert. Sie lassen sich ansprechen z.B.
foreach (@ARGV) {
say $_;
}
Darf ich mal fragen, wieso Du zwei Skripten brauchst und nicht gleich alles mit Perl machst?
Markus
Zitat von @Maveric:
Beide Skripte zu vereinen wäre
Schritt zwei. Das Shell Skript führt lediglich 3 greps auf Dateien aus und löscht nach dem
Perl Skript zwei Dateien. Solange ich jetzt nicht weis, wie ich ein grep geschickt ohne
Datenstream in einer Zeile, so wie auch in einem Shell Skript möglich umsetzte lasse ich es erst
mal so.
Grüße
Maveric
Die Dokumentation zu perl heißt perldoc, die Dokumentation zur grep-Funktion in Perl findest Du mitBeide Skripte zu vereinen wäre
Schritt zwei. Das Shell Skript führt lediglich 3 greps auf Dateien aus und löscht nach dem
Perl Skript zwei Dateien. Solange ich jetzt nicht weis, wie ich ein grep geschickt ohne
Datenstream in einer Zeile, so wie auch in einem Shell Skript möglich umsetzte lasse ich es erst
mal so.
Grüße
Maveric
perldoc -f grep