• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Optional viele Argumente verarbeiten

Jongo

Newbie
hallo,

Ich möchte beliebig viele Argumente für mein skript benutzen,

wenn ich z.b. einfach nur alles loggen möchte statt:

Code:
 $1 >& test.log

irgendwie alle Argumente abfangen und ausführen...
 
A

Anonymous

Gast
Jongo schrieb:
Ich möchte beliebig viele Argumente für mein skript benutzen,
dem steht fast nichts im Wege, außer die Gesamtlänge deiner Argumente übersteigt die in der Shell festgelegte maximale Größe.
Jongo schrieb:
wenn ich z.b. einfach nur alles loggen möchte statt:
dann nimmst du die Ausgabe deines Scriptes und schreibst sie in eine Datei ./script argument argument > logdatei
oder was willst du sonst loggen , die Argumente selbst ? dann echo "$*" > logdatei
Jongo schrieb:
irgendwie alle Argumente abfangen und ausführen...
abfangen ? keine Ahnung was du da genau meinst, die sind weder scheu noch schüchtern und ganz zuverlässig über genau definierte Variablen ansprechbar. :wink:
ausführen ? etwa auch noch so hier :shock:
Code:
 $1 >& test.log
das ist ganz schön riskant wenn dieser Parameter vorher nicht ganz genau innerhalb des Scriptes geprüft worden ist.

Am besten du erklärst mal etwas ausführlicher was du genau machen willst und wie du das Script einsetzten willst.

robi
 
OP
J

Jongo

Newbie
hi,

danke für deine schnelle antwort robi!

Ich möchte eigendlich ein log-skript, so dass ich beliebigen Befehl (inkl Argumente) aufrufen kann und alles mitgeloggt wird...

also

befehl_x argumentx möchte ich so aufrufen:

./log_skript befehl_x argumentx

dann soll der Befehl ausgeführt werden und geloggt wird in eine bestimmte Datei...

gruß Jongo
 
A

Anonymous

Gast
Das sollte so hier funktionieren

Code:
BEFEHL=$1
# hier testen ob der Befehl ausführbar ist und eventuell ob er für die Benutzung in diesem
# Script auch wirklich freigegeben ist, wenn nicht dann hier exit

shift
$BEFEHL "$@" > logdatei

robi
 

lin-x

Newbie
Du meinst bestimmt so etwas

Code:
ls -l -a | tee log.txt



______________________________
6c48bb17872c696ef5dbb24a60f4fbf3
http://lin-x.de
 
Oben