Umleitung von Skriptparametern in einen Dateinamen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
wow
Beiträge: 124
Registriert: 29.01.2004 17:17:17
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: 12355 Berlin

Umleitung von Skriptparametern in einen Dateinamen

Beitrag von wow » 17.05.2007 18:55:25

Hallo zusammen,

ich muß ein Script ausführen, daß bestimmte Parameter mitbekommt. Die Ausgabe des Skripts wird in eine Datei umgeleitet, die auch die Parameter als Dateinamen enthält.

Das Skript wird von einem anderen Skript mit den Parametern aufgerufen.

Konkret:

Das eigentliche Skript heißt status.

Das aufrufende Skript heißt stat-ber.

Der einzige Befehl in status-ber lautet:

Code: Alles auswählen

status $@ > status_$@.log 
Rufe ich jetzt

Code: Alles auswählen

 stat-ber RW A 
auf, so heißt die Datei

Code: Alles auswählen

status_RW A.log
. Die Parameter werden konsequent mit dem Leerzeichen an den Dateinamen übergeben.

Das Leerzeichen in der Datei möchte ich vermeiden. Anstelle des Leerzeichens wäre ein underscore sinnvoll.
Hier finde ich keine Lösung, wie ich das bewerkstellige. Ich würde mich sehr freuen, wenn jemand eine Idee hätte.

MfG

Wolfram

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 17.05.2007 19:55:58

Code: Alles auswählen

gms@debi ~ $ status() { echo $@; }
gms@debi ~ $ caller() { X=$@; X=${X/ /_}; status $@ > status_$X.log; }
gms@debi ~ $ caller RW A
gms@debi ~ $ ls -l status*
-rw-r--r-- 1 gms gms 5 17. Mai 19:53 status_RW_A.log
gms@debi ~ $ cat status_RW_A.log
RW A
Gruß
gms

wow
Beiträge: 124
Registriert: 29.01.2004 17:17:17
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: 12355 Berlin

Beitrag von wow » 17.05.2007 20:38:53

Hallo gms,

vielen Dank. Das hat wunderbar geklappt.

MfG

Wolfram

Antworten