Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
parameter auswerten

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
shell
Gast





BeitragVerfasst am: 06. Nov 2001 20:50   Titel: parameter auswerten

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 Cool
 

Jochen
Gast





BeitragVerfasst am: 07. Nov 2001 8:54   Titel: Re: parameter auswerten

Nicht schwer. Deine Shell bekommt einen Wert übergeben, der durch ":" getrennt einzelne Parameter enthält. Dann mach das so:
code:

#!/bin/bash

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

for ARG
do
echo "Ein Argument: $ARG"
done


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
Gast





BeitragVerfasst am: 07. Nov 2001 9:51   Titel: Re: parameter auswerten

irgendwie funktioniert das nicht ...
 

Jochen
Gast





BeitragVerfasst am: 07. Nov 2001 11:46   Titel: Re: parameter auswerten

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

Jochen
 

shell
Gast





BeitragVerfasst am: 07. Nov 2001 12:08   Titel: Re: parameter auswerten

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 Wink)
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 Wink
nur soviel: isdn.sh ist Bestandteil eines anderen scripts ;)

Danke
 

trinity



Anmeldungsdatum: 12.10.2001
Beiträge: 821

BeitragVerfasst am: 07. Nov 2001 12:23   Titel: Re: parameter auswerten

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)
 
Benutzer-Profile anzeigen Private Nachricht senden

shell
Gast





BeitragVerfasst am: 09. Nov 2001 8:25   Titel: Re: parameter auswerten

sorry, aber mit dieser Lösung kann ich rein gar nichts anfangen Sad
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
Gast





BeitragVerfasst am: 09. Nov 2001 9:00   Titel: Re: parameter auswerten

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 $n, mit n=1..9.

Damit kannst Du Deine Parameter einzeln auswerten und passende Optionen zu Deinen anderen Kommandos zusammenbasteln:
code:
}
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


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
Gast





BeitragVerfasst am: 09. Nov 2001 15:48   Titel: Re: parameter auswerten

GENAU Wink
D A N K E
.. bischd a guter ... Cool
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy