parameter auswerten

Post Reply
Message
Author
shell

parameter auswerten

#1 Post by shell »

z.Bsp

command param1:param2:param3

command ist ein shellscript, mit dem ich nun param1 bis param2 auswerten will ... .
kann mir da jemand helfen ?
es gehen auch die versionen der Eingabe (ist mir egal, solange die drei parameter übergeben werden):

command param1 param2 param3 (vielleicht die ungünstigste version)

command -param1 bla -param2 blabla -param3 -blablabla

ich hoffe das ist verständlich ;)

danke gurus 8)

Jochen

Re: parameter auswerten

#2 Post by Jochen »

Nicht schwer. Deine Shell bekommt einen Wert übergeben, der durch ":" getrennt einzelne Parameter enthält. Dann mach das so:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/bash

set `echo ${1//:/ }`

for ARG
do
echo "Ein Argument: $ARG"
done
</font><hr></pre></blockquote>
Das echo-Kommando gibt den Inhalt des ersten Argumentes aus, allerdinsg werden vorher alle Doppelpunkte durch Leerzeichen ersetzt (man bash unter "Parameter Substitution"). set setzt die so entstandenen Parameter, als wären sie der Shell beim Aufruf übergeben worden, und die for-Schleife ackert dann Parameter für Parameter ab.

War's das, was Du wolltest?

Jochen

shell

Re: parameter auswerten

#3 Post by shell »

irgendwie funktioniert das nicht ...

Jochen

Re: parameter auswerten

#4 Post by Jochen »

Übernimm's mal mit Copy'n'Paste, es funzt hier einwandfrei. Welche Fehlermeldung kriegst Du bei welchem Aufruf?

Jochen

shell

Re: parameter auswerten

#5 Post by shell »

paß auf

ich brauche dies:

[sh]#echotest 13333 und das
Der erste Paramterer ist '13333', der zweite 'und', der Dritte 'das'.

so soll das Programm arbeiten ...
bei deriner Version arbeitet er doch die Anzahl der Eingaben ab und gibt sie NACHEINANDER aus .. ich brauch sie aber AUF EINMAL ;))
z.Bsp.:
[sh]#isdn.sh start Meier
dieses Script soll isdnctrl dial ippp3 ausführen
start = dial
ippp0 = Schulze
...
...
...
ippp3 = Meier

ist nur mal einfach erklärt.
Wie gesagt die Eingabe
isdn.sh start:Meier wäre auch kein Problem ich muß das nur verarbeiten können ...
Bitte frag mich nicht, warum ich das so umständlich machen will ;)
nur soviel: isdn.sh ist Bestandteil eines anderen scripts ;)

Danke

trinity
Posts: 821
Joined: 12. Oct 2001 10:04

Re: parameter auswerten

#6 Post by trinity »

du kannst deinen befehl und die parameter ganz normal eingeben:
befehl par1 par2 par3

skript <befehl> gibt die parameter dann folgerndermassen aus:
echo $1
echo $2
echo $3
echo $1 $2 $3

$1 enthält 1 parameter
$2 ...
"Korrekt, Freundlich, Kostenfrei", wähle genau zwei. (Lutz Donnerhacke in dcsf)

shell

Re: parameter auswerten

#7 Post by shell »

sorry, aber mit dieser Lösung kann ich rein gar nichts anfangen :(
script funktioniert hier nicht.
Versteht denn keiner, was ich will ?
Ich dachte an eine Lösung mit 'split' ????
Es muß doch irgendwie gehen, daß ich die parameter hinter meinem shellscript irgendwie verwenden kann, Mit einem geht das ja hervorragend
Das ist mir wichtig

Danke

Jochen

Re: parameter auswerten

#8 Post by Jochen »

Tja, wie Du gesagt hast: Hier versteht wohl wirklich keiner, was Du genau willst. Noch'n Anlauf...

Alle übergebenen Parameter am Stück erhältst Du mit $* im Skript. Für Spezialfälle (wie Blanks in den einzelnen Argumenten) verwendet man auch "$@".

An die Argumente einzeln kommst Du mit $<i>n</i>, mit n=1..9.

Damit kannst Du Deine Parameter einzeln auswerten und passende Optionen zu Deinen anderen Kommandos zusammenbasteln:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">}
case "$1" in
start) COMMAND=dial ;;
stop) COMMAND=hangup ;;
*) echo "Fehler!" >&2 ;;
esac

case "$2" in
[Ss]chulze) INTERFACE=ippp0 ;;
[Mm]ueller) INTERFACE=ippp1 ;;
....
[Mm]eier) INTERFACE=ippp3 ;;
*) echo "Kenn ich nicht" >&2 ;;
esac

isdnctrl $COMMAND $INTERFACE
</font><hr></pre></blockquote>
Das ist alles, was ich aus Deinen Postings herauslesen kann. Sollte dies wieder danebenlegen, kann ich mir beim besten Willen nicht mehr vorstellen, was Du meinst.

Wir können hier nicht Gedankenlesen; nur weil Du Dein Projekt total im Überblick hast und weisst, was Du willst, können wir es noch lange nicht erahnen. Die Infos müssen schon von Dir kommen!

Jochen

shell

Re: parameter auswerten

#9 Post by shell »

GENAU ;)
D A N K E
.. bischd a guter ... 8)

Post Reply